中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

vb點虐 列表框 vb列表框代碼

VB.NET列表框問題

有這個條件是為了避免 當列表沒有選項的時候 或者 有選項但沒有選中的時候 點擊刪除按鈕會引發(fā)錯誤 selectindex =-1 是沒有選中的時候默認值 而列表序號從0開始 刪除一個不存在的序號引發(fā)錯誤

公司主營業(yè)務:成都網(wǎng)站設計、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出平鄉(xiāng)免費做網(wǎng)站回饋大家。

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

預先準備三個圖標文件,用于樹型控件中顯示磁盤符號和文件夾的圖像之用。

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

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

選中TreeView1,設置其ImageList屬性為ImageList1。

2、設置屬性

選中圖像列表控件 ImageList1,在屬性窗口里,選中屬性Images,單擊三個小點按鈕,出現(xià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é)點指定未被選中時顯示的圖標

Mynode.ImageIndex?=?1

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

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é)點對應目錄的文件,需要組成全路徑

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.NET列表框怎樣換行?

1.把ListBox的MultiSelect的屬性設為2

2.對滾動條的Scroll事件進行編寫

(Added

Attachment)

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

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

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屬性設置為你希望用戶在列表框中看到的記錄字段 它是customers表的CompanyName 通常ValueMember屬性設置為數(shù)據(jù)表中的一個鍵字段 對于customer來說是CustomerID 一旦用戶選擇了列表框中的一行 很容易使用列表框的SelectedValue屬性獲得鍵字段

MsgBox(ListBox SelectedValue)

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

典型的Visual Basic開發(fā)者通常這樣想 我已經(jīng)得到了該行的鍵了 我將編寫一些邏輯來查找使用該鍵的行 這樣可以實現(xiàn) 但是有更好的實現(xià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ù)行相關的數(shù)據(jù)更加容易 當列表框被數(shù)據(jù)綁定到數(shù)據(jù)表時(假定列表框中的有些行當前被選定了) 列表框的SelectedItem屬性保存了一個DataRowView對象

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

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

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

dr Delete()

lishixinzhi/Article/program/net/201311/12974

文章標題:vb點虐 列表框 vb列表框代碼
文章來源:http://www.rwnh.cn/article34/ddcpgse.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、App開發(fā)、電子商務品牌網(wǎng)站制作、網(wǎng)站維護、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設
嘉黎县| 普格县| 微山县| 穆棱市| 彭州市| 盘山县| 旺苍县| 盐亭县| 巩留县| 体育| 万山特区| 奉新县| 天峨县| 浪卡子县| 沧源| 宝坻区| 三门峡市| 汉中市| 金乡县| 增城市| 万荣县| 黄平县| 锦州市| 介休市| 武穴市| 共和县| 明光市| 辽源市| 甘洛县| 关岭| 海丰县| 搜索| 周宁县| 清水河县| 白城市| 印江| 黔东| 射阳县| 通榆县| 宜昌市| 遵义市|