zoukankan      html  css  js  c++  java
  • 如何在子线程中操作主线程的控件

      一般来说,直接在子线程中对窗体上的控件操作是会出现异常,这是由于子线程和运行窗体的线程是不同的空间,因此想要在子线程来操作窗体上的控件,是不可能简单的通过控件对象名来操作,但不是说不能进行操作,微软提供了Invoke的方法,其作用就是让子线程告诉窗体线程来完成相应的控件操作。

            /// <summary>
              /// 修改UI线程创建控件属性的委托
              /// </summary>
              delegate void SetTextCallback(string text);

              private void SetText(string text)
              {
                  if (this.Msg.InvokeRequired)
                  {
                      SetTextCallback d = new SetTextCallback(SetText);
                      this.Invoke(d, new object[] { text });
                  }
                  else
                  {
                      this.Msg.Text = text;
                  }
              }

  • 相关阅读:
    [HEOI2013]Segment
    决策单调性胡扯笔记
    HDU 4352 XHXJ's LIS
    WC前计划做但一定会鸽的事情
    LGP5667 拉格朗日插值2
    BZOJ3516 国王奇遇记加强版
    ### Paper about Event Detection
    ### GIT
    ###《Max-Margin Early Event Detectors》
    ### matlab
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/1564627.html
Copyright © 2011-2022 走看看