由于我是从VFP开发转往C#开发的,所以常常想在C#理去实现VFP中的一些写法,例如这次..
在VFP中,我们的为了适应开发的多变性,所以我们开发了很多继承于VFP控件的类控件,把很多常用的处理代码,写在了类控件中,那么只要把类控件加到Form中,就已经拥有样关功能了....如果某个事件不想继承类的,只要隐藏一下,就可以实现了,例如,我有一个类控件UTextBox是继承TextBox开发的,并且我改写了他的Vaild 和 keypress事件,让它在vaild时弹出messagebox("a"),keypress时弹出messagebox("b"). 那我只要在Form中加入类控件UTextBox实例,在不加任何代码时,就已经拥有相关功能,如果我想在Keypress时,弹出"b"后,再弹出"c",只要加一句UtextBox::Vaild() &&继承类,再加上messagebox("c"),就能实现,如果不想要弹出b,只接弹c,只要不继承类的Vaild,(也就是不加UtextBox::Vaild() )就可以了.
在C#中,也有类似的功能,但并不能完全实现.
C#中要继承基类控件,重写事件,如需如下:
这样就可以重写TextBox形成新控件UctextBox
build项目后,在工具箱中就会