如何对Form上所有控件的Change事件进行监控 我一个Form上有很多的控件,我现在需要对这个Form上所有的控件的Change事件进行监控,当控件的值或者状态被改变后我要能进行一些处理。除了一个一个控件的change事件里面判断之外有没有其他比较简单的方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 所有的控件的change事件绑定到一个方法上 同楼上所有的控件的change事件绑定到一个方法上如果需要控件的某些属性,就把sender强制转换成要用的类型,通用属性可以转换成Control 如果在你的项目里使用的是自定义的或是从标准控件继承的控件,那么你最好在基类里加以处理。比如用FindForm()方法找到所在的窗体以操作所在窗体的是否改变属性。这样可能会好些。 分组来做,比如TextBoxprivate void AttachEvent(Control ctl){ for(Control subCtl in ctl.Controls) { if(subCtl.Controls.Count>0) { AttachEvent(subCtl); } if(subCtl.getType()==typeof(TextBox)) { TextBox temp=subCtl as TextBox; temp.TextChanged+=....; }}或者抽象出一个接口来,然后继承需要的控件并各自实现该接口来达到统一控制. 一个Winfrom启动错误的问题 dropdownlist选中值问题? 求Calendar(日期控件)制作博客日志导航的代码写法 vs2005写的套接字的程序无法运行 如何取得calendar的值 字符数组长度 有个很少的C++源码急着需要翻译成其它源码,版主、高手请进。 一个关于简单数据操作的问题 C#+VS2010+WINMM.DLL自制48键电子琴 吐血免分大放送!! MVC Post 参数“奇葩问题” form调用C++写的dll正常,asp.net调用出错(dll会访问一些外部文件) 关于Winform中Datagirdview控件的数据定位问题
所有的控件的change事件绑定到一个方法上
如果需要控件的某些属性,就把sender强制转换成要用的类型,通用属性可以转换成Control
比如TextBox
private void AttachEvent(Control ctl)
{
for(Control subCtl in ctl.Controls)
{
if(subCtl.Controls.Count>0)
{
AttachEvent(subCtl);
}
if(subCtl.getType()==typeof(TextBox))
{
TextBox temp=subCtl as TextBox;
temp.TextChanged+=....;
}
}或者抽象出一个接口来,
然后继承需要的控件并各自实现该接口来达到统一控制.