WinForm间传值
最近做个小软件,需要两个WINFORM间互相传值,实现起来虽简单,还是记录下来,以备不时之需。
新建一个窗体应用,创建两个WinForm.(Form1 Form2)
每个WinForm中各加入一个Button和一个TextBox.
首先Form1的值要传给Form2,需要把Form2的接受值控件的Modifiers设置为public;
Form1中代码如下:
private void butSetBoxInfo_Click(object sender, EventArgs e) { Form2 frm2 = new Form2(); frm2.txtBox2.Text = txtBox1.Text; frm2.SendEvent += new Form2.SendMessage(GetMessage); frm2.ShowDialog(); } private void GetMessage(string str) { txtBox1.Text = str; }
Form2中txtBox2接收到Form1的txtBox1的值,当txtBox2改变值后,再传回txtBox1;Form2代码如下:
//代理声明 public delegate void SendMessage(string info); //事件声明 public event SendMessage SendEvent; private void btnOK_Click(object sender, EventArgs e) { //TODO其他数据 SendEvent(txtBox2.Text); this.Close(); } private void btnCancle_Click(object sender, EventArgs e) { this.Close(); }
如此,就实现了两个窗体间值的互传。
软件开发技术交流,同学习共进步,欢迎加群, 群号:169600532