我有一个Windows应用程序,我在主界面上放置了一个多行文本框,然后想把各个菜单下的菜单项处理的结果或者处理历史写入这个多行文本框,请问一下我应该怎么样在菜单项单击后出现的窗口中响应该窗口的按钮事件呢?我觉得可行的一种方法是将主界面上的多行文本框的访问属性设置为Public,然后在各个窗口的按钮事件中调用子窗口中的这个控件,可是实际操作起来却不行。请各位高手指点。

解决方案 »

  1.   

    不管怎么样你都要获取到主窗体的实例才可以
    1 使用Appliction
    Application.OpenForms["主窗体名"].Controls["控件名"].Text = "asdf";2 使用静态变量
    public static MainForm m_Form;在主窗体加的Load里写
    m_Form=this;
    其他窗体就可以使用了3 传递参数 可以使用构造类 Form的Tag标签..如果是MDI也可以使用 MdiParent 很多种方法都可以做到.
      

  2.   

    定义一个全局事件,主界面绑定,其他窗口触发
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  3.   

            public Form1()
            {
                InitializeComponent();
                //.共享控件给其他线程
                Control.CheckForIllegalCrossThreadCalls = false;
            }
    不安全的的多线程访问,试试,安全性要求不高的话直接用这个