Winform中,怎么实现Form2中点击打开按钮,打开Form1,输入文本,再点击Form1中的“确定”按钮,把输入的值显示到Form2的文本框中?
首先自定义一个事件参数TextBoxArgs:
Public class TextBoxArgs:EventArgs
{
public string TxtValue{get;set}
Public TextBoxArgs(string val)
{
TextValue=val;
}
}
在Form1后台声明一个事件:public event Action<object,TextBoxArgs> SetTextBoxValue;
Form2中:
在Form2的”打开”按钮的Click事件中:
Form1 f1=new Form1();
f1.SetTextBoxValue+=F1_SetTextBoxValue;
f1.Show();
Private void F1_SetTextBoxValue(object sender,TextBoxArgs e)
{
txtValue.Text=e.TxtValue;
}
Form1中:
Form1的确定按钮的Click事件处理程序中:
string txtValue=txtInfo.Text.Trim();
TextBoxArgs arg=new TextBoxArgs(txtValue);
SetTextBoxValue?.Invoke(this,arg);
完成!