form1:
有事件处理的程序
class1:(定义了一些模板并添加到form1中)
中定义了向form1中添加textBox的方法,并在此给每个textbox加上处理事件,而此处理事件在form1中
问,怎样做才能使事件得到正确的传递。
不胜感激!

解决方案 »

  1.   

    to 有事件处理的程序
    class1:(定义了一些模板并添加到form1中)
    中定义了向form1中添加textBox的方法,并在此给每个textbox加上处理事件,而此处理事件在form1中
    问,怎样做才能使事件得到正确的传递。使用委托,例如:
    // in your class
    // Bind textbox text-changed event with specific method
    public void SetTextChanged( System.EventHandler txtChanged )
    {
        yourTextBox.TextChanged += txtChanged;
    }// in form class
    // Set your text-changed method
    yourClassObj.SetTextChanged( new System.EventHandler( yourTextProcess ) );private void myTextChanged( object sender, System.EventArgs e)
    {
        // Process here
    }
      

  2.   

    楼上正解!
    用event在两个窗体间传递事件或变量
    在第一个窗口设置一个delegatepublic delegate void OnGetMessage();
    public event OnGetMessage GetMessage;在第1个窗口中绑定事件。绑定时机应该在第二个窗口初始化以后。
    this.GetMessage +=new OnGetMessage(form2.GetMessageProc);
    在第一个窗体初始化的时候激活事件
    this.GetMessage();第二个窗口应该有一个用于消息处理的方法。
    GetMessageProc()
    {
       MessageBox.Show("妈妈我要喝,娃哈哈果奶");  
    }这样当第一个窗口激活的时候,第二个窗体就能得到通知。