生成继承窗体
生成继承窗体
我们的编程工作大部分都完成了,现在只需要增加新的继承窗体Form就可,方法是在Form项或项目菜单或工具栏选择添加继承的窗体,在弹出的Form中输入窗体名frmUser按打开,在选择继承器中选择FrmModule确定就生成了一新的窗体。 继承的继承如下:
Public Class frmUser:Inherits frmModel
在生成的窗体中增加一些必要的控件,同时与根据表中字段对应关系设置的TabIndex的值。
通过设置控件TabIndex的值,可以把该控件与物理表中的字段关系对应起来,如TabIndex为1,则对应物理表的第1个字段,如TabIndex为2,则对应物理表的第2个字段,如此例推。这方便把输入控件的数据写入表中,把网格数据写入输入控件中,这是技巧,其实现过程见方法:WriteDateToArray(),DataGridToText()。
指定物理表
在类frmUser的New方法中指定所操作的物理表名tUser。为什么要在这里指定表名呢?是因为程序在调用frmUser前,先必须申请frmUser的实类,同时进行实类化,自动执行构造函数New(),执行New()时,就把我们所要完成的功能代码放在这里,让它们自动执行。
Public Sub New()
MyBase.New()
'该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
gCls.UpdateTable = "tUser"
'在 InitializeComponent() 调用之后添加任何初始化
End Sub
更改控件的属性,隐藏不需要的控件
在 frmUser的Load事件中更改DataGrid1的标题并隐藏不需要的控件:
Private Sub frmUser_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataGrid1.CaptionText = "用户列表"
cbo.Visible = False
Me.Label6.Visible = False
End Sub
按同样方法,生成下面的窗体frmInfo,在此窗体上增加一些新控件,如下:
窗体frmInfo类继承frmModel:
Public Class frmInfo:Inherits frmModel
在类frmInfo的New方法中指定所操作的物理表名tInfo。
Public Sub New()
…
gCls.UpdateTable = " tInfo "
End Sub
现在,ToolBar1上增加了新的方法"导入",应该怎样处理呢?事实上只要在frmInfo的ToolBar1_ButtonClick事件中识别时"导入",写要处理的任务就可,如下:
Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
Select Case e.Button.Text
Case "导入"
…
End Select
End Sub
通过上面的窗体继承方法,凡是对物理表的操作都可以通过这些方法来完成,而不必再重复编写代码。
……