WinForm间传值

Posted 回眸@浅笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

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


以上是关于WinForm间传值的主要内容,如果未能解决你的问题,请参考以下文章

WPF C#怎么窗体间传值

WinForm间传值

winform 窗体间传值

WinForm窗体间传值的方法

Winform 下,两个不同窗体的DataGridView控件中的数据间传值怎么解决?

winform窗体代码设置大小