专注于.NET编程学习和技术分享

WinFrom子窗体继承父窗体重用控件事件重写

在Winform窗体中,有时候多个窗体会存在多个相同的设计,那么每个画面去拉一边控件,有点费时费力,这时候就可以使用父窗体,把一些共通的设计在父窗体中完成,包括一些共通的方法。

新建一个父窗体BasForm,加一个按钮控件,控件的Modifiers的属性设置为Public或者Protected。生成按钮的点击事件,用public virtual 声明,代码如下:

        public virtual void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("父按钮");
        }

 

添加一个子窗体Form1,继承父窗体,在子窗体中就会显示父窗体中按钮

可以重写父窗体中按钮的点击事件,但是需要去掉掉父类Designer中按钮的触发事件,不然会被调用两遍

BasForm.Designer.cs

//this.button1.Click += new System.EventHandler(this.button1_Click);

Form1.cs

 public partial class Form1:BasForm
    {
        public Form1()
        {
            InitializeComponent();
        }

        public override void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("子按钮");
        }
    }

 

未经允许不得转载:墨鱼巴巴 » WinFrom子窗体继承父窗体重用控件事件重写
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址