public delegate void Myweituo();
   Myweituo weituo=new Myweituo(buttonXianshi);
   public void buttonXianshi()
   {
       button1.Visible=true;
   }
     线程方法
   {
    if满足条件
      dosomething!!...
   }
有人知道怎么在线程中调用窗体控件吗?比如我在主窗口定义了一个按钮,运行时把这个按钮隐藏,线程绑定的方法中定义了一个随机数,[1,2,3]如果为1,我就将按钮显示出来,该怎么做啊?

解决方案 »

  1.   

     线程方法
       {
        if满足条件
          button1.Invoke(weituo, null);
       }
      

  2.   

       public delegate void Myweituo(bool val);
       //Myweituo weituo=new Myweituo(buttonXianshi);
       public void buttonXianshi(bool val)
       {
          if(button1.InvokeRequired)
          {
            button1.Invoke(new Myweituo(buttonXianshi),new object[]{val});
          }
          else
           button1.Visible=val;
       }
         线程方法
       {
        if满足条件
          buttonXianshi(true);
        else
          buttonXianshi(false);
       }
      

  3.   

    最好把控制button显示的代码放在线程中,或者把线程中产生的随机数用out输出参数传出来,声明一个变量接收,用另一线程每隔多长时间判断一次,控制button显示