C# Winform 委托实现B页面给A页面赋值

C# Winform 委托实现B页面给A页面赋值

1. 定义2个窗体,Form9代表A页面,Form10代表B页面,从A页面调用B页面,通过B页面给A页面传值,赋值到窗体文本框显示

代码实现如下:

Form9窗体后台代码:

namespace Test
{
/// <summary>
/// 定义一个委托
/// </summary>
/// <param name="value"></param>
public delegate void WriteValue(string value);

public partial class Form9 : Form
{
private WriteValue writeValue;
public Form9()
{
InitializeComponent();
writeValue = WriteToText;
}

private void WriteToText(string value)
{
this.textBox1.Text = value;
}

private void button1_Click(object sender, EventArgs e)
{
Form10 f = new Form10(writeValue);//委托,将方法作为一个变量传过去
f.Show();
}
}
}

-----------------------------------------------------------------------------------------

Form10窗体代码:

namespace Test
{
public partial class Form10 : Form
{
private WriteValue _writeValue;
public Form10(WriteValue writeValue)
{
InitializeComponent();
_writeValue = writeValue;
}

private void button1_Click(object sender, EventArgs e)
{
_writeValue(this.textBox1.Text); //通过委托调用实现给Form9页面传值
}
}
}

效果如下:

 

 点击按钮传值

 

 委托就是将方法作为参数进行传递,上面这个小例子就简单的实现了委托的应用,在项目中都可以这样去使用,比较简单,这样通过一个窗体的实际案例会比直接看书上写的案例更清晰明了,最终的目的就是

能把学到的东西用到实际项目中,如果有什么地方写的有欠缺的,希望大家指正留言。

 

posted @ 2021-11-12 16:18  haishu  阅读(753)  评论(0编辑  收藏  举报