源码  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,并显示出来.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。