真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb點虐 列表框 vb列表框multiselect

使用VB.NET的五個技巧之處理數(shù)據(jù)行

處理數(shù)據(jù)行(DataRow)

創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)葉集,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

Windows窗體中的數(shù)據(jù)綁定列表框和組合框很節(jié)省時間 典型的代碼如下(假定已枝老經(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ù)庫的顧客記錄工作 DisplayMember屬性設(shè)置為你希望用戶在列表框中看到的記錄字段 它是customers表的CompanyName 通常ValueMember屬性設(shè)置為數(shù)據(jù)表中的一個鍵字段 對于customer來說是CustomerID 一旦用戶選擇了列表框中的一行 很容易使用列表框的SelectedValue屬性獲得鍵字段

MsgBox(ListBox SelectedValue)

但是有可能需要一個與被選擇項相關(guān)的整個數(shù)據(jù)行對象的引用 例如 如果被選擇的行需要被刪除 就不知道鍵了 你需要一個數(shù)據(jù)行的引用以使用Delete方法

典型的Visual Basic開發(fā)者通常這樣想 我已經(jīng)得到了該行的鍵了 我將編寫一些邏輯來查找使用該鍵的行 這樣可以實現(xiàn) 但是有更好的實現(xiàn)方法 可以使用一行代碼獲取與列表框中選項關(guān)聯(lián)的數(shù)據(jù)行

Dim dr As DataRow = CType(ListBox SelectedItem DataRowView) Row

通常該邏輯不會憑直覺出現(xiàn) 即使對經(jīng)驗豐富的開發(fā)者 為了解釋這是怎樣實現(xiàn)的 我把上面的一行拆成幾行 下面的代碼與上面代碼的功能相同

Dim drv As DataRowView drv = CType(ListBox SelectedItem DataRowView) Dim dr As DataRow dr = drv Row

DataRowView類是數(shù)據(jù)行的包裝 它被多個Windows窗體控件使用 它使得顯示與控件中的數(shù)據(jù)行相關(guān)的數(shù)據(jù)更加容易 當(dāng)列表框被數(shù)據(jù)綁定到數(shù)據(jù)表時(假定列表框中的有些行當(dāng)洞槐前被選定了) 列表框的SelectedItem屬性保存了一個DataRowView對象

這意味著我們能把列表框的SelectedItem屬性轉(zhuǎn)換到DataRowView對象 這就是上面代碼中的第二行實現(xiàn)的 接著DataRowView暴露一個Row屬性 它指向被包裝的數(shù)據(jù)行 上面的代碼聲明了一個數(shù)據(jù)行并設(shè)置了Row屬性

轉(zhuǎn)換對象的類型以訪問它的接口的技術(shù)在Visual Basic 中不是經(jīng)常使用 但是在Visual Basic NET中這是經(jīng)常的 有了上面的例子后 大多數(shù)有經(jīng)驗的開發(fā)者迅速跟上了這種技術(shù)

數(shù)據(jù)行的引用(dr)可用于用任何方式維護(hù)行 訪問數(shù)據(jù)行中的任何特定字段是可行的 行中的數(shù)據(jù)可以被改變 能使數(shù)據(jù)行的Delete方法把該行標(biāo)識為刪除 或者從數(shù)據(jù)表的行集合中刪除該行 下面的代碼標(biāo)識刪除了一行

dr Delete()

lishixinzhi/Article/program/net/201311/12974

vb點虐 磁盤文件列表,界面如圖,在點虐 下如何實現(xiàn)?

預(yù)先準(zhǔn)備三個圖標(biāo)文件,用于樹型控件中顯示磁盤符號和文件夾的圖像之用。

1、窗體上添加控件如下:

組合框控件 ComboBox1,樹型控件 TreeView1,列表框控件 ListBox1,圖像列表控件 ImageList1。

選中TreeView1,設(shè)置其ImageList屬性為ImageList1。

2、設(shè)置屬性

選中圖像列表控件 ImageList1,在屬性窗口里,選中屬性Images,單擊三個小點按鈕,出現(xiàn)圖像集合編輯器窗口,單擊[添加按鈕],一一把準(zhǔn)備好的圖標(biāo)文件進(jìn)行添加,注意先后次序,如果不符合要求可以通過上下移動按鈕重新改變次序。完成后單擊[確定]。

運行圖如下:

完整代碼如下:

Imports?System.IO

Public?Class?Form1

Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load

'添加系統(tǒng)所有磁盤目錄符號

For?Each?MyDrive?As?String?In?Environment.GetLogicalDrives()

ComboBox1.Items.Add(MyDrive)

Next

'顯示第一個磁盤符號

ComboBox1.Text?=?ComboBox1.Items(0)

End?Sub

'遞歸過程添加目錄樹

Public?Sub?AddDirectory(ByVal?strFatherPath?As?String,?ByVal?strPath?As?String,?ByVal?nodeFather?As?TreeNode)

Dim?i?As?Integer

Dim?Mynode?As?New?TreeNode

'先添加本目錄

Mynode.Text?=?Strings.Replace(strPath,?strFatherPath??"\",?"",?,?1)

'為節(jié)點指定未被選中時顯示的圖標(biāo)

Mynode.ImageIndex?=?1

'為節(jié)點指定被選中時顯示的圖標(biāo)

Mynode.SelectedImageIndex?=?2

nodeFather.Nodes.Add(Mynode)

Application.DoEvents()

Try

Dim?str()?As?String?=?Directory.GetDirectories(strPath)

'遞歸遍歷該目錄的子文件夾

For?i?=?0?To?str.GetUpperBound(0)

AddDirectory(strPath,?str(i),?Mynode)

Next

Catch?ex?As?Exception

Debug.WriteLine(ex.Message)

End?Try

Mynode?=?Nothing

End?Sub

'根據(jù)給出的盤符添加目錄樹

Private?Sub?AddRootDirectory(ByVal?DiscSymbol?As?String)

Dim?Nynode?As?New?TreeNode

'先把磁盤盤符添加到樹中

TreeView1.Nodes.Clear()

Nynode.ImageIndex?=?0

Nynode.Text?=?DiscSymbol

Nynode.SelectedImageIndex?=?-1

TreeView1.Nodes.Add(Nynode)

Dim?i?As?Integer

'獲取磁盤根目錄下的文件夾

Dim?str()?As?String?=?Directory.GetDirectories(DiscSymbol??"\")

虧槐檔?明陪????For?i?=?0?To?str.GetUpperBound(0)

'調(diào)用遞歸過程遍歷該文件夾里的所有子文件夾,并添加到樹型控件

AddDirectory(DiscSymbol,?str(i),?Nynode)

Next

銷亂??????Nynode?=?Nothing

End?Sub

Private?Sub?ComboBox1_SelectedIndexChanged(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?ComboBox1.SelectedIndexChanged

'根據(jù)磁盤符號的變更,顯示根目錄里的文件

ListBox1.Items.Clear()

For?Each?MyFile?As?String?In?System.IO.Directory.GetFiles(ComboBox1.Text)

ListBox1.Items.Add(MyFile)

Next

'根據(jù)磁盤符號的變更,重新顯示目錄樹

Dim?DiscSymbol?As?String

DiscSymbol?=?Microsoft.VisualBasic.Left(ComboBox1.Text,?Len(ComboBox1.Text)?-?1)

Call?AddRootDirectory(DiscSymbol)

End?Sub

'遞歸過程根據(jù)子目錄尋找上級目錄名--從而構(gòu)成完整的目錄路徑

Private?Sub?AllPath(ByVal?ThisNode?As?TreeNode,?ByRef?MyPathName?As?String)

If?ThisNode.Level??1?Then

'該節(jié)點層數(shù)大于1,其父節(jié)點不是磁盤根目錄

MyPathName?=?ThisNode.Parent.Text??"\"??MyPathName

Dim?MyNode?As?TreeNode?=?ThisNode.Parent

Call?AllPath(MyNode,?MyPathName)

Else

'該節(jié)點層數(shù)等于1,其父節(jié)點就是磁盤根目錄

MyPathName?=?ComboBox1.Text??MyPathName

End?If

End?Sub

Private?Sub?TreeView1_AfterSelect(ByVal?sender?As?System.Object,?ByVal?e?As?System.Windows.Forms.TreeViewEventArgs)?Handles?TreeView1.AfterSelect

'為了搜索選中的節(jié)點對應(yīng)目錄的文件,需要組成全路徑

Dim?MyAllPathName?As?String?=?TreeView1.SelectedNode.Text

Dim?MyNode?As?TreeNode?=?TreeView1.SelectedNode

If?TreeView1.SelectedNode.Level?=?0?Then

'如果選中的是根節(jié)點

MyAllPathName?=?ComboBox1.Text

Else

'如果選中的是非根節(jié)點,調(diào)用遞歸過程組成全路徑

Call?AllPath(MyNode,?MyAllPathName)

MyAllPathName?=?MyAllPathName??"\"

End?If

'根據(jù)路徑,搜索文件名并顯示

ListBox1.Items.Clear()

For?Each?MyFile?As?String?In?System.IO.Directory.GetFiles(MyAllPathName)

ListBox1.Items.Add(MyFile)

Next

End?Sub

End?Class

vb點虐 如何獲取 列表框第一行文本到 文本框?

Text1.Text = List1.List(n) n表示列表雹閉框中的第n項. 如果要讀完所螞肆碼有的, 一個循環(huán)就搞定悶?zāi)牧?

VB.NET列表框怎樣換行?

1.把ListBox的MultiSelect的屬性設(shè)為纖盯斗2

2.對則租滾動條的Scroll事件進(jìn)行毀磨編寫

(Added

Attachment)


網(wǎng)頁標(biāo)題:vb點虐 列表框 vb列表框multiselect
當(dāng)前路徑:http://weahome.cn/article/ddpjseh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部