轉:Visual Basic.NET快速開發MIS系統(3)
2024-07-10 13:02:22
供稿:網友
本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。生成繼承窗體
生成繼承窗體
我們的編程工作大部分都完成了,現在只需要增加新的繼承窗體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
通過上面的窗體繼承方法,凡是對物理表的操作都可以通過這些方法來完成,而不必再重復編寫代碼。