【转】窗体继承,然后实现按钮点击事件的重写

原文地址:https://blog.csdn.net/lingyun2005/article/details/2899497

做了一阵子Winform的程序之后,越来越能够做到把窗体、控件等都看作类来对待了。

下面的例子实现了窗体的继承,并在子类里面自动完成了对父类窗体里面的按钮点击事件的重写。

步骤一:建立一个窗体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、方便代码的统一

还有什么好处,大家告诉我吧,呵呵。

posted @ 2018-07-06 14:50  花影疏帘  阅读(491)  评论(0)    收藏  举报