在任意form類或模塊中都可以創(chuàng)建類,跟建立函數(shù)和過(guò)程一樣。
在下城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營(yíng)銷推廣,外貿(mào)網(wǎng)站制作,下城網(wǎng)站建設(shè)費(fèi)用合理。
示例:
public class form1
‘創(chuàng)建一個(gè)屬于form的子類,名稱為【類名】。
public class 類名
’定義類成員text
public text as string
end class
‘定義一個(gè)【類名】類的公共變量。
dim 類名1 as 類名
’定義一個(gè)過(guò)程,使用【類名】類的text成員
public sub 過(guò)程
‘實(shí)例化【類名1】
類名1=new 類名
類名1.text=“賦值”
’定義一個(gè)【新類】類的私用變量,并實(shí)例化。
dim 新類1 as new 新類
新類1.name=“一個(gè)字符串”
新類1.age=12
end sub
end class
‘’‘創(chuàng)建一個(gè)與form同級(jí)的類,名稱為【新類】
public class 新類
public sub new()
end sub
public name as string
public age as integer
end class
在模塊中使用:
public class module1
dim a as new form1.類名
end module
模塊相當(dāng)于一堆公開(kāi)方法的集合,類相當(dāng)于你平時(shí)拖的控件,在vb6里面你想自己寫個(gè)控件是很復(fù)雜的,而vb點(diǎn)虐 里只需要繼承自現(xiàn)有控件即可。就按鈕來(lái)說(shuō)同樣是按鈕類,你可以拖若干個(gè)到界面上,也就是存在若干實(shí)例或?qū)ο螅K,通常只有一個(gè)對(duì)吧,模塊相當(dāng)于c#的靜態(tài)類。
處理數(shù)據(jù)行(DataRow)
Windows窗體中的數(shù)據(jù)綁定列表框和組合框很節(jié)省時(shí)間 典型的代碼如下(假定已經(jīng)建立了SqlDataAdapter或者其它部件獲取數(shù)據(jù))
Dim ds As New DataSet() SqlDataAdapter Fill(ds Customers ) ListBox DataSource = ds Tables( Customers ) ListBox DisplayMember = CompanyName ListBox ValueMember = CustomerID
在這種情況下 代碼使用Northwind數(shù)據(jù)庫(kù)的顧客記錄工作 DisplayMember屬性設(shè)置為你希望用戶在列表框中看到的記錄字段 它是customers表的CompanyName 通常ValueMember屬性設(shè)置為數(shù)據(jù)表中的一個(gè)鍵字段 對(duì)于customer來(lái)說(shuō)是CustomerID 一旦用戶選擇了列表框中的一行 很容易使用列表框的SelectedValue屬性獲得鍵字段
MsgBox(ListBox SelectedValue)
但是有可能需要一個(gè)與被選擇項(xiàng)相關(guān)的整個(gè)數(shù)據(jù)行對(duì)象的引用 例如 如果被選擇的行需要被刪除 就不知道鍵了 你需要一個(gè)數(shù)據(jù)行的引用以使用Delete方法
典型的Visual Basic開(kāi)發(fā)者通常這樣想 我已經(jīng)得到了該行的鍵了 我將編寫一些邏輯來(lái)查找使用該鍵的行 這樣可以實(shí)現(xiàn) 但是有更好的實(shí)現(xiàn)方法 可以使用一行代碼獲取與列表框中選項(xiàng)關(guān)聯(lián)的數(shù)據(jù)行
Dim dr As DataRow = CType(ListBox SelectedItem DataRowView) Row
通常該邏輯不會(huì)憑直覺(jué)出現(xiàn) 即使對(duì)經(jīng)驗(yàn)豐富的開(kāi)發(fā)者 為了解釋這是怎樣實(shí)現(xiàn)的 我把上面的一行拆成幾行 下面的代碼與上面代碼的功能相同
Dim drv As DataRowView drv = CType(ListBox SelectedItem DataRowView) Dim dr As DataRow dr = drv Row
DataRowView類是數(shù)據(jù)行的包裝 它被多個(gè)Windows窗體控件使用 它使得顯示與控件中的數(shù)據(jù)行相關(guān)的數(shù)據(jù)更加容易 當(dāng)列表框被數(shù)據(jù)綁定到數(shù)據(jù)表時(shí)(假定列表框中的有些行當(dāng)前被選定了) 列表框的SelectedItem屬性保存了一個(gè)DataRowView對(duì)象
這意味著我們能把列表框的SelectedItem屬性轉(zhuǎn)換到DataRowView對(duì)象 這就是上面代碼中的第二行實(shí)現(xiàn)的 接著DataRowView暴露一個(gè)Row屬性 它指向被包裝的數(shù)據(jù)行 上面的代碼聲明了一個(gè)數(shù)據(jù)行并設(shè)置了Row屬性
轉(zhuǎn)換對(duì)象的類型以訪問(wèn)它的接口的技術(shù)在Visual Basic 中不是經(jīng)常使用 但是在Visual Basic NET中這是經(jīng)常的 有了上面的例子后 大多數(shù)有經(jīng)驗(yàn)的開(kāi)發(fā)者迅速跟上了這種技術(shù)
數(shù)據(jù)行的引用(dr)可用于用任何方式維護(hù)行 訪問(wèn)數(shù)據(jù)行中的任何特定字段是可行的 行中的數(shù)據(jù)可以被改變 能使數(shù)據(jù)行的Delete方法把該行標(biāo)識(shí)為刪除 或者從數(shù)據(jù)表的行集合中刪除該行 下面的代碼標(biāo)識(shí)刪除了一行
dr Delete()
lishixinzhi/Article/program/net/201311/12974