一个超难的C#问题,高手请进啦!
偶编写一个类,在这个类中,有一个Control类型的属性,可设置为用户的一个文本框或组合框等
现在想做的功能是:在这个Control触发Validating事件之前,先执行我的程序,而且还可以决定是否继续执行Validating事件
那么,其实就重写Control的OnValidating方法就行了,但关键问题是,我的类不能继承该Control,这个Control只是我类中的一个属性罢了
怎么办??问题总结为:不继承一个类,如何重写一个类的方法?
------解决方案--------------------设计不合理.
建议使用嵌套类.
------解决方案--------------------把Control类组合到你的类中不行?
------解决方案--------------------关注
------解决方案--------------------重写你的Control, 再把它丢到你的类中
------解决方案--------------------如果不能改变你的结果,那就改变你的思路。
------解决方案--------------------不继承也能重写?看来我的C#知识还有待提高。
------解决方案--------------------楼主的设计上 存在问题
要重写类的函数
重载 是必须的
------解决方案--------------------思路有问题
1、不重写不行吗?
2、不把Control做为一个属性,而做为一个UserControl不行吗?
------解决方案--------------------为这个Control成员的Validating事件添加一个自定义的委托方法例如
this.textBox1.Validating+=new CancelEventHandler(textBox1_Validating)
------解决方案--------------------明白LZ的意思,看看我的代码,Control就是你想要的属性,_yourControl_Validating方法就是你想要的方法