一个FORM1,里面有一个ListVIew,还有一个用户窗口,需要在这个listView中间接修改一点数据,修改是通过FORM2窗体修改传回,对委托不是很熟悉,该怎么实现

解决方案 »

  1.   

    这样吧,在用户控件里的textbox里原来有值,然后我通过控件里的button调用FORM2,在FORM2修改后传回用户控件里的textbox
      

  2.   

    两个窗体上都各声明一个按钮和一个文本框。
    代码如下,Form1  
            private void button1_Click(object sender, EventArgs e)
            {
                Form2 frm = new Form2();
                frm.Save += setVs;
                frm.ShowDialog();        }
            private void setVs(object o)
            {
                this.textBox1.Text = o.ToString();
            }   
            //声明委托
            public delegate void setVa(object o); 
            //事件
            public event setVa Save;
            public Form2()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                string xts = this.textBox1.Text;
                Save(xts);
                this.Close();
            }
      

  3.   

    现在又遇到这种问题,因为是自己写的用户控件,就会拖到其它地方用的,这次订阅的是FORM2的委托,下次就可能是其它模块的,这样写就写死了,有没有办法解决这样的问题
      

  4.   

    用户控件写个函数给控件的textBox赋值,弹出对话框的FORM写委托,调用控件的Form订阅