现在接手一个winform项目,以前都做web的,对winform了解不多。现在有个问题,里面很多地方使用到第三方的一个时间控件(DevExpress.XtraEditors.DateEdit),它现在的时间范围是(MaxValue)0001 00:00:00~(MinValue)9999 00:00:00,我想要改为(MaxValue)1900 00:00:00~(MinValue)2079 23:59:59,一个一个去找每一个使用时间控件(DevExpress.XtraEditors.DateEdit)的地方,然后更改它得属性值(MaxValue)(MinValue),工作量无疑很大,请问有什么别的方法吗?比如像web里面写段JS然后放母版之类,只用做很小改动的?谢谢各位有经验的人介绍下
让你的窗体都继承一个类,在这个类里面写个方法,判断窗体里是否有DevExpress.XtraEditors.DateEdit控件,有的话就给他的MaxValue和MinValue设置下值。
不过觉得还是一个一个去找每一个使用时间控件(DevExpress.XtraEditors.DateEdit)的地方,然后更改它得属性值(MaxValue)(MinValue),这样的工作量应该也还好.
如何判断窗体里是否有DevExpress.XtraEditors.DateEdit控件?
@桑辛: 这个日期控件应该有MaxValue 和MinValue及Value这三个属性吧;你直接设置其值就ok了;
@HuaFang: 是的 可以这样做 但是那每一个使用到这个控件的对象,都得设置,我问的就是有没有办法统一设置
@桑辛:
foreach (Control con in this.Controls)
{
if (con.GetType().Name == "DateEdit")
{
}
}
你试试
@九二: 你好!我使用的就是这个方法,递归查询全部,但是第一步就失败了,因为foreach (Control con in this.Controls)他查找的this.Controls是winform.Control,这个是第三方的控件,不在其中
@桑辛: QQ:2413383946密码:ziliao
你去邮箱的草稿箱里面有个附件。
你找不到大概是不了解生命周期
@九二: 十分感谢!问题已解决,果然是生命周期问题,查找控件方法加在构造函数里了,放load里就好了!
把它改成用户控件。
虽然没帮上忙,但是也谢谢回答!