做了一阵子Winform的程序之后,越来越能够做到把窗体、控件等都看作类来对待了。以前做VB的时候,对这些控件都是有一种敬畏的心理,根本就不敢对其做什么,而且当时也的确做不了什么,因为没有面向对象的继承、重载、重写什么的,呵呵。现在不一样了,所有的东西都是类,所以面向对象的各种操作都是可以完成的。(只是发现的有点儿晚啊。)下面的例子实现了窗体的继承,并在子类里面自动完成了对父类窗体里面的按钮点击事件的重写。
步骤一:建立一个窗体Form1,并在上面放置一个按钮。
步骤二:编写按钮的点击事件,并进行重构,抽出方法。
private void button1_Click(object sender, EventArgs e)
{
SearchData();
}
public virtual void SearchData() { }
注意到此时建立的SearchData()方法是一个虚方法,这样我们就可以在子类里面重写它,以根据子类窗体的实际情况实现不同的功能。
步骤三:建立新的窗体Form2,并继承Form1
public partial class Form2 : Form1
{…………
步骤四:重写Form2里面的SearchData方法。
public override void SearchData()
{
MessageBox.Show(" ");
}
这样实现的效果是,在Form2子类窗体里面没有添加按钮,也没有编写按钮的Click事件的处理,但是直接点击里面从父类窗体继承过来的按钮,就可以实现重写过的SearchData方法里面的处理。
这样做的好处不言而喻,我想主要有以下几个:
1、方便界面统一
2、避免编写重复代码
3、方便代码的统一
还有什么好处,大家告诉我吧,呵呵。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)