winform 窗体间的传值(转)

Posted chinayixia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform 窗体间的传值(转)相关的知识,希望对你有一定的参考价值。

原文:   https://blog.csdn.net/e_wsq/article/details/7714031

源码:  https://github.com/SHAREVIEW/winform_valnue-from-form-2-form_20190919.git

在WinForm之间传值有很多种方法,在这里我用的是delegate and event进行传值.
新建一个WindowsApplication,创建两个WinForm.其实它们就是两个类.
每个WinForm中各加入一个Button和一个TextBox.
在WinForm2中写入代理和事件(delegate and event)如下:
//代理声明
public delegate void SendMessage(string str);
//事件声明
public event SendMessage SendEvent;
private void btnSend_Click(object sender, EventArgs e)

       //调用事件
      SendEvent(textBox1.Text);

在WinForm1中写入如下代码:
private void btnShow_Click(object sender, EventArgs e)

        Form2 f2 = new Form2();
        //Form2事件注册
        f2.SendEvent+=new Form2.SendMessage(GetMessage);
        f2.Show();

//代理调用的方法
public void GetMessage(string str)

       textBox1.Text = str;

在点击WinForm1的Button弹出WinForm2后,在WinForm2中文本框输入文字,然后点击按钮,信息将会立刻发送到WinForm1,并显示出来.

 

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

Winform中利用委托实现窗体之间的传值

winform的窗体中菜单栏中有两个菜单的子窗体间的跳转

在C#winform 中怎样在旧窗体中通过按钮打开新窗体选择后传值给旧窗体 把旧窗体的值改变

winform 窗体之间的操作

C#winform 窗体样式的切换

在启动一个winform窗体的时候,实例化多个窗体对象用于跳转页面或其他功能,这样损耗大吗?