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;
        }
View Code

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();
        }
View Code

如此,就实现了两个窗体间值的互传。

posted @ 2017-07-29 10:14  回眸@浅笑  阅读(163)  评论(0编辑  收藏  举报