使用 Visual Inheritance 创建模板窗体






1.93/5 (9投票s)
2004 年 5 月 14 日
3分钟阅读

79805

948
理解 .NET 中的可视化继承,并使用可视化继承创建通用模板表单。
引言
众所周知,在面向对象编程 (OOP) 中,继承 是指使用现有类的所有功能,并在不重写原始类的情况下扩展这些功能的能力。 基本上,这意味着一个对象可以继承另一个对象的方法和属性。
在 .NET 中,继承不仅限于设计类,还扩展到可视化设计。 那么,这意味着什么? 也就是说,我们也可以在表单设计中使用继承,因此这种用法被称为 可视化继承。
但是,Windows 窗体 的可视化继承仍然是基于类的继承。 在使用可视化继承时,必须牢记所有其他继承功能。 例如,如果您在基类中创建方法和属性,则必须注意哪些方法和属性可以被派生类覆盖。
可视化继承的主要优点之一是它可以减少或缩短开发时间,并有助于在表单布局中设计一致性。
在大多数应用程序开发中,您会发现表单布局具有共同的外观。 从技术上讲,这基本上是在应用程序设计中遵循的表单模板概念,以在整个产品中提供相同的外观。
大多数开发人员在应用程序开发过程中花费时间设计表单布局。 因此,通过使用可视化继承,开发人员可以缩短时间和成本。
以下是一些您可以在表单设计中使用可视化继承的领域
- 具有通用菜单结构的表单
- 具有通用图形图像和按钮的表单
- 表单的行为必须根据使用情况进行更改
- 需要通用代码的表单
但是,使用可视化继承,您可以创建一个 模板表单,其中包含所有通用控件以及通用代码。然后,您可以从您的模板基表单派生新的表单,这些表单提供适当的功能。
让我用一个小的例子来解释一下
在示例应用程序中,我们假设大多数表单在 UI 中都应该具有相同的外观。 因此,让我们创建一个 模板表单,其中包含一个菜单栏、徽标和按钮,这些将在所有表单中通用。 图 1 显示了模板表单。
图 [1]。 Template.vb
在示例应用程序 Visual Inherit 中,我们将创建一个从 Template.vb 继承的 Form
。 图 [2] 显示了名为 FormsUsingTemplate.vb 的继承表单。
图 [2]。 FormsUsingTemplate.vb
要从 Template.vb 表单继承,您所需要做的就是右键单击项目的解决方案资源管理器,然后选择“添加新项目”,然后选择 “继承表单”。 选择 “继承表单” 后,您将看到一个继承选择器对话框,其中显示了项目中所有可用的表单,我们将为我们的示例选择 Template
Form
,如 图 [3] 所示。
图 [3]。 继承选择器
在代码视图中,您可以看到 FormsUsingTemplate
表单是从 Template
表单派生的。
Public Class FormsUsingTemplate
Inherits VisualInherit.frmTemplate
如果您在设计视图中看到 FormsUsingTemplate
表单,则所有从基模板继承的项目都将显示在表单项目上带有特殊图标。 这些不能在继承表单中编辑。 如果您需要编辑模板的任何可视外观,则需要在 Template
表单中编辑,这将自动反映在派生表单中。
因此,现在您可以在派生表单中添加所有必需的控件,如果需要,甚至可以通过手动更改代码、修饰符以及根据您的要求来覆盖基表单中的某些方法。 在示例应用程序中,我只是在派生表单中隐藏了按钮点击事件。
Private Shadows Sub butSubmit_Click(ByVal sender _
As System.Object, ByVal e As System.EventArgs) Handles butSubmit.Click
Dim msg As String
msg = "Name :" & txtName.Text & " " &_
"Age :" & " " & txtAge.Text & " " &_
"Salary :" & txtSalary.Text
MessageBox.Show(msg)
End Sub
结论
可视化继承有助于缩短开发时间,并且,就像类中的继承作为语言特性一样,继承也可以在表单设计中使用。