Winform中利用委托实现窗体之间的传值
2021-05-20 05:28
标签:for info ring code 窗体 dia 做了 不用 之间 点击打开按扭,打开传输值窗体 输入值后点击传输按扭,‘value‘将显示在接收值窗体的TextBox上 这里主要为大家呈现了两种传值方式: 一、将Form1窗体传给fatherform对象,随后我们就可以在Form2中操作Form1了。 二、使用委托,将getValue方法赋给事件或委托对象getTextHandler,那么实现getValue操作就不用自己去做了因为已经委托给getTextHandler,直接调用getTextHandler即可 Winform中利用委托实现窗体之间的传值 标签:for info ring code 窗体 dia 做了 不用 之间 原文地址:https://www.cnblogs.com/yuer20180726/p/11316931.htmlpublic partial class Form1 : Form
2 {
3 public Form1()
4 {
5 InitializeComponent();
6 }
7
8 public void getValue(string strV)
9 {
10 this.textBox1.Text = strV;
11 }
12
13 private void button1_Click(object sender, EventArgs e)
14 {
15 Form2 frm = new Form2();
16 //frm.fatherform = this;//将当前窗体赋给fatherform
17 //frm.getTextHandler += new Form2.GetTextHandler(getValue);//给事件赋值(注意:GetText方法的参数必须与GetTextHandler委托的参数一样,方可委托)
18 frm.getTextHandler = getValue;//将方法赋给委托对象
19 frm.ShowDialog();
20 }
21 }
1 public partial class Form2 : Form
2 {
3 public Form2()
4 {
5 InitializeComponent();
6 }
7 //public Form1 fatherform;
8
9 public delegate void GetTextHandler(string text);//声明委托
10 // public event GetTextHandler getTextHandler = null;//定义委托事件
11 public GetTextHandler getTextHandler;//委托对象
12 private void button1_Click(object sender, EventArgs e)
13 {
14 //if (fatherform != null)
15 //{
16 // fatherform.getValue(this.textBox1.Text.Trim());
17 // this.Close();
18 //}
19 if (getTextHandler != null)
20 {
21 getTextHandler(this.textBox1.Text.Trim());
22 this.Close();
23 }
24 }
25 }
文章标题:Winform中利用委托实现窗体之间的传值
文章链接:http://soscw.com/index.php/essay/87854.html