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#中从父窗体的子窗体中为控件添加事件处理程序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)