在一个项目中不可避免会有多个窗体的控件布局类似,里面的代码也有好多相同的,可以新建窗体,然后复制粘贴来实现窗体的重复使用,这种方式固然好,可麻烦也随之而来,随着项目的深入,不可避免的要修改窗体布局或代码等,这时就要对多个这样的窗体全部进行修改。正是如此,所以笔者决定采用继承窗体的方式来实现窗体的复用。
窗体继承的官方帮助:Windows 窗体可视化继承
一、 继承窗体的操作方法
窗体继承有两种方式:编程方式或使用视觉继承选取器。编程方式简单易上手,本文仅介绍以编程方式继承窗体,操作步骤如下:
1、创建项目
新一个Windows窗体应用程序,包含被继承的窗体(在这里称基窗体)BaseFrm和继承自基窗体的子窗体Form2。
2、创建基窗体
在基窗体设计界面拉入一个DataGridView控件、一个Button控件和一个TextBox控件,当然啦,你还可以拖入其他控件,只要你需要。如图所示:
3、创建子窗体
打开子窗体的代码界面,我们将会看到自动生成的代码,如下图:
要使Form2窗体继承自基窗体BaseFrm,很简单,只需要添加代码:Inherits BaseFrm
即可。如下图:
是不是很简单?
二、窗体继承问题多多
测试过程中发生很多意想不到的错误和问题,具体如下:
1、为类“Form2”指定的基类“BaseFrm”不能与它的其他分部类型之窗体继承一的基类“Form”不同。
当键入Inherits BaseFrm
后就会报这个错误,如下图所示:
解决办法:
在“解决方案资源管理器”中依次点开“Form2.vb”左侧的三角形。
双击打开“Form2.Designer.vb”代码窗口,将代码Inherits System.Windows.Forms.Form
修改为Inherits BaseFrm
,如下图: