生成繼承窗體
生成繼承窗體
我們的編程工作大部分都完成了,現(xiàn)在只需要增加新的繼承窗體Form就可,方法是在Form項(xiàng)或項(xiàng)目菜單或工具欄選擇添加繼承的窗體,在彈出的Form中輸入窗體名frmUser按打開,在選擇繼承器中選擇FrmModule確定就生成了一新的窗體。 繼承的繼承如下:
Public Class frmUser:Inherits frmModel
在生成的窗體中增加一些必要的控件,同時與根據(jù)表中字段對應(yīng)關(guān)系設(shè)置的TabIndex的值。
通過設(shè)置控件TabIndex的值,可以把該控件與物理表中的字段關(guān)系對應(yīng)起來,如TabIndex為1,則對應(yīng)物理表的第1個字段,如TabIndex為2,則對應(yīng)物理表的第2個字段,如此例推。這方便把輸入控件的數(shù)據(jù)寫入表中,把網(wǎng)格數(shù)據(jù)寫入輸入控件中,這是技巧,其實(shí)現(xiàn)過程見方法:WriteDateToArray(),DataGridToText()。
指定物理表
在類frmUser的New方法中指定所操作的物理表名tUser。為什么要在這里指定表名呢?是因?yàn)槌绦蛟谡{(diào)用frmUser前,先必須申請frmUser的實(shí)類,同時進(jìn)行實(shí)類化,自動執(zhí)行構(gòu)造函數(shù)New(),執(zhí)行New()時,就把我們所要完成的功能代碼放在這里,讓它們自動執(zhí)行。
Public Sub New() MyBase.New() '該調(diào)用是 Windows 窗體設(shè)計器所必需的。 InitializeComponent() gCls.UpdateTable = "tUser" '在 InitializeComponent() 調(diào)用之后添加任何初始化 End Sub
更改控件的屬性,隱藏不需要的控件
在 frmUser的Load事件中更改DataGrid1的標(biāo)題并隱藏不需要的控件:
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
現(xiàn)在,ToolBar1上增加了新的方法"導(dǎo)入",應(yīng)該怎樣處理呢?事實(shí)上只要在frmInfo的ToolBar1_ButtonClick事件中識別時"導(dǎo)入",寫要處理的任務(wù)就可,如下:
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 "導(dǎo)入" … End Select End Sub
通過上面的窗體繼承方法,凡是對物理表的操作都可以通過這些方法來完成,而不必再重復(fù)編寫代碼。
|