//啥也不多说了,代码更简洁明了。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnOpen_Click(object sender, EventArgs e)
{
var form2=new Form2();
form2.UpdateMessage = UpdateMsg;
form2.ShowDialog();
}
void UpdateMsg(string msg)
{
Text = msg;
}
}
public partial class Form2 : Form
{
public UpdateMessageDelegate UpdateMessage { get; set; }
public Form2()
{
InitializeComponent();
}
private void tbContent2_TextChanged(object sender, EventArgs e)
{
var msg = tbContent2.Text.Trim();
if (UpdateMessage!=null)
{
UpdateMessage(msg);
}
}
}
public delegate void UpdateMessageDelegate(string msg);
UpdateMessageDelegate这个委托我单独定义到了一个类文件中,当然也可以定义在Form窗体类的外面。
1 子窗口定义一个委托类型,当有需要时调用此委托
2. 主窗口实例化子窗口时,将此委托进行注入,主窗口内定义一个函数用来修改控件。