问题说明:
在主界面程序中开启多个线程,如何在每个子线程中操作除主界面外的其他窗口和控件?
 
目前我只会在子线程中操作主界面上的控件,利用委托实现。 请教高人!!,多谢多谢!!

解决方案 »

  1.   

    Application.OpenForms[]   是当前应用所有打开窗体的实例集合,从这里你可以访问到每个窗体实例上可访问的控件。
      

  2.   

    一样的。只要你能找到那个窗体,并且其中的成员以public公开就能操作。至于委托,任意的Control的Invoke都可以。你可以用Form1.Invoke去操作Form2,这没有任何问题。
      

  3.   

    2楼的高人你好:这个我尝试了,已经把所有的成员都设为public了,但是调试时提醒 不能访问受访问级别限制,不知道是为什么?
      

  4.   


    for (int i = 0; i < Application.OpenForms.Count; i++)
                {
                    if (Application.OpenForms[i].Text == "测试窗体")
                    {
                        reg reg1 = (reg)Application.OpenForms[i];
                        WebBrowser wb1 = (WebBrowser)reg1.Controls["webBrowser1"];
                        wb1.Navigate("www.csdn.net");
                    }
                }