有两个窗体
form1:comboBox1
form2:textBox1
当form1里comboBox1的值发生变化时,form2中textBox1得到comboBox1的值
如何处理?

解决方案 »

  1.   

            Form2 frm;
            private void button1_Click(object sender, EventArgs e)
            {
                frm = new Form2();
                frm.Show();        }        private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
            {
                frm.Controls["textBox1"].Text = this.comboBox1.Text;
            }
      

  2.   


      if (frm != null)//修改下
                {
                    frm.Controls["textBox1"].Text = this.comboBox1.Text;
                }方法很多,可以用静态变量,可以用委托事件
      

  3.   

    笨方法就是:
    form1自定义一个事件,form2订阅这个事件,form1里发生需要form2注意的任何事件时就触发这个事件,form2得到通知,做相应的反应。用事件有个好处就是不仅是form2,任何一个对form1里发生的某个事件感兴趣的对象都会得到通知。
      

  4.   

    使用辅助类也可以
    把要传过去的值先存到中间类的变量里,当form2需要时再去是间类里取即可
      

  5.   


    1楼的做法容易理解
    办法很多,你也可以用静态变量来做
    如声明一个静态变量来保存comboBox中的值,在用类名访问