日期:2014-05-17  浏览次数:20909 次

怎样注册事件?
本帖最后由 jshzp 于 2013-11-11 19:35:45 编辑
AB两个窗体,B在A里实例化并show出来的。控件comboBox1是B里面的。希望在A里面写方法响应控件触发的事件:
窗体A里面写的代码:
tnid .comboBox1 .SelectedIndexChanged+=new EventHandler(comboBox1_SelectedIndexChanged);//这句话写在A窗体的load方法里面
 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
         }

窗体B里面写的代码:
public System.Windows.Forms.ComboBox comboBox1;

但是调试发现,事件触发后,方法comboBox1_SelectedIndexChanged没有执行。
望指教,谢谢!

------解决方案--------------------
A:
 private void button1_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2();
            (form2.Controls.Find("comboBox1", false)[0] as ComboBox).SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);
            form2.Show();
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            ComboBox cbb = sender as ComboBox;
            MessageBox.Show(cbb.Text + "");
        }

B:
  private void Form2_Load(object sender, EventArgs e)
        {
            this.comboBox1.Items.Insert(0, "11111");
            this.comboBox1.Items.Insert(1, "22222");
        }