在C#中从父窗体的子窗体中为控件添加事件处理程序

在C#中从父窗体的子窗体中为控件添加事件处理程序,第1张

概述我有两种形式.一个是带有按钮和文本框的父表单.单击该按钮时,会打开一个对话框,打开子窗体,该子窗体又具有文本框和按钮.现在我想要的是,当子窗体文本框中的文本更改时,父窗体文本框中的文本会自动更改.为了获得这个,我所做的是, Form3 f3 = new Form3();f3.delBetInpTxt.TextChanged +=new EventHandler(delBetInpTxt_Text 我有两种形式.一个是带有按钮和文本框的父表单.单击该按钮时,会打开一个对话框,打开子窗体,该子窗体又具有文本框和按钮.现在我想要的是,当子窗体文本框中的文本更改时,父窗体文本框中的文本会自动更改.为了获得这个,我所做的是,

Form3 f3 = new Form3();f3.delBetInpTxt.TextChanged +=new EventHandler(delBetInpTxt_TextChanged);public voID delBetInpTxt_TextChanged(object sender,EventArgs e)    {        TextBox t = (TextBox)sender;        simDelTxt.Text = t.Text + " ms";    }

我在父表单中添加了上面的代码,子表单是Form3.但没有任何反应,即使在子窗体中的changng文本之后,父窗体文本框仍然没有改变.我在这里做错了.

解决方法 您可以以子格式添加事件,并在文本更改时将其上升.然后以父窗体创建事件处理程序并更改父窗体中的文本.
以儿童形式:

public event EventHandler OnChildTextChanged;private voID textBox1_TextChanged(object sender,EventArgs e){    if(OnChildTextChanged != null)       OnChildTextChanged(textBox1.Text,null);}

在父母形式:

private voID button1_Click(object sender,EventArgs e){    ChildForm child = new ChildForm();    child.OnChildTextChanged += new EventHandler(child_OnChildTextChanged);    child.ShowDialog();}voID child_OnChildTextChanged(object sender,EventArgs e){    textBox1.Text = (string)sender;}

希望能帮助到你.

总结

以上是内存溢出为你收集整理的在C#中从父窗体的子窗体中为控件添加事件处理程序全部内容,希望文章能够帮你解决在C#中从父窗体的子窗体中为控件添加事件处理程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存