'數(shù)據(jù)庫(kù)連接函數(shù),其中mysql(數(shù)據(jù)集連接語(yǔ)句),sqlip(SQL服務(wù)器IP),rsmod(數(shù)據(jù)庫(kù)打開(kāi)模式)為動(dòng)態(tài)取值
寧晉網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),寧晉網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為寧晉超過(guò)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的寧晉做網(wǎng)站的公司定做!
Public Function myRs(ByVal mySQL As String, ByVal sqlIP As String, ByVal rsMod As Integer) As ADODB.Recordset
Dim myConn As New ADODB.Connection
If myConn.State = 1 Then
myConn.Close()
End If
If rs.State = 1 Then
rs.Close()
End If
myConn.ConnectionString = "Provider = Sqloledb;SERVER=" sqlIP ";uid=sa;pwd=;database=school"
myConn.Open()
rs.Open(mySQL, myConn, 1, rsMod)
myRs = rs
End Function
'顯示列表內(nèi)容函數(shù),該函數(shù)能顯示兩個(gè)子項(xiàng)
Public Function addLst() As Boolean
lstUser.Clear()
mySql = "select * from sqlusers"
rs = myRs(mySql, sqlIP, 1)
lstUser.View = View.Details
Dim i As Integer
If rs.Fields.Count 0 Then
'添加列表框列標(biāo)題項(xiàng)目
For i = 1 To rs.Fields.Count
lstUser.Columns.Add(rs.Fields.Item(i - 1).Name)
Next
'添加列表框數(shù)據(jù)內(nèi)容
If rs.RecordCount 0 Then
rs.MoveFirst()
For i = 1 To rs.RecordCount
lstUser.Items.Add(rs("用戶名").Value)
lstUser.Items.Item(i - 1).SubItems.Add(rs("密碼").Value)
lstUser.Items.Item(i - 1).SubItems.Add(rs("用戶類(lèi)型").Value)
rs.MoveNext()
Next
End If
End Function
以上是我剛剛寫(xiě)完的,調(diào)試通過(guò),希望對(duì)你有用.
Public Class Form1
Private Imgfile As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ListBox1.DrawMode = DrawMode.OwnerDrawVariable
Imgfile = "X:\Users\......\Pictures\ssm.png"‘顯示為listbox的每一行文字前面的圖標(biāo)文件,換一張你自己的圖片。
End Sub
Private Sub ListBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles ListBox1.DrawItem
e.DrawBackground()
Dim rect As Rectangle = New Rectangle(2, e.Bounds.Y + 2, e.Bounds.Height, e.Bounds.Height - 4)
e.Graphics.DrawImage(New Bitmap(Imgfile), rect)
e.Graphics.DrawString(sender.Items(e.Index), sender.Font, New SolidBrush(sender.ForeColor), _
New RectangleF(e.Bounds.X + rect.Width, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height))
e.DrawFocusRectangle()
End Sub
End Class
預(yù)先準(zhǔn)備三個(gè)圖標(biāo)文件,用于樹(shù)型控件中顯示磁盤(pán)符號(hào)和文件夾的圖像之用。
1、窗體上添加控件如下:
組合框控件 ComboBox1,樹(shù)型控件 TreeView1,列表框控件 ListBox1,圖像列表控件 ImageList1。
選中TreeView1,設(shè)置其ImageList屬性為ImageList1。
2、設(shè)置屬性
選中圖像列表控件 ImageList1,在屬性窗口里,選中屬性Images,單擊三個(gè)小點(diǎn)按鈕,出現(xiàn)圖像集合編輯器窗口,單擊[添加按鈕],一一把準(zhǔn)備好的圖標(biāo)文件進(jìn)行添加,注意先后次序,如果不符合要求可以通過(guò)上下移動(dòng)按鈕重新改變次序。完成后單擊[確定]。
運(yù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)所有磁盤(pán)目錄符號(hào)
For?Each?MyDrive?As?String?In?Environment.GetLogicalDrives()
ComboBox1.Items.Add(MyDrive)
Next
'顯示第一個(gè)磁盤(pán)符號(hào)
ComboBox1.Text?=?ComboBox1.Items(0)
End?Sub
'遞歸過(guò)程添加目錄樹(shù)
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é)點(diǎn)指定未被選中時(shí)顯示的圖標(biāo)
Mynode.ImageIndex?=?1
'為節(jié)點(diǎn)指定被選中時(shí)顯示的圖標(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ù)給出的盤(pán)符添加目錄樹(shù)
Private?Sub?AddRootDirectory(ByVal?DiscSymbol?As?String)
Dim?Nynode?As?New?TreeNode
'先把磁盤(pán)盤(pán)符添加到樹(shù)中
TreeView1.Nodes.Clear()
Nynode.ImageIndex?=?0
Nynode.Text?=?DiscSymbol
Nynode.SelectedImageIndex?=?-1
TreeView1.Nodes.Add(Nynode)
Dim?i?As?Integer
'獲取磁盤(pán)根目錄下的文件夾
Dim?str()?As?String?=?Directory.GetDirectories(DiscSymbol??"\")
For?i?=?0?To?str.GetUpperBound(0)
'調(diào)用遞歸過(guò)程遍歷該文件夾里的所有子文件夾,并添加到樹(shù)型控件
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ù)磁盤(pán)符號(hào)的變更,顯示根目錄里的文件
ListBox1.Items.Clear()
For?Each?MyFile?As?String?In?System.IO.Directory.GetFiles(ComboBox1.Text)
ListBox1.Items.Add(MyFile)
Next
'根據(jù)磁盤(pán)符號(hào)的變更,重新顯示目錄樹(shù)
Dim?DiscSymbol?As?String
DiscSymbol?=?Microsoft.VisualBasic.Left(ComboBox1.Text,?Len(ComboBox1.Text)?-?1)
Call?AddRootDirectory(DiscSymbol)
End?Sub
'遞歸過(guò)程根據(jù)子目錄尋找上級(jí)目錄名--從而構(gòu)成完整的目錄路徑
Private?Sub?AllPath(ByVal?ThisNode?As?TreeNode,?ByRef?MyPathName?As?String)
If?ThisNode.Level??1?Then
'該節(jié)點(diǎn)層數(shù)大于1,其父節(jié)點(diǎn)不是磁盤(pán)根目錄
MyPathName?=?ThisNode.Parent.Text??"\"??MyPathName
Dim?MyNode?As?TreeNode?=?ThisNode.Parent
Call?AllPath(MyNode,?MyPathName)
Else
'該節(jié)點(diǎn)層數(shù)等于1,其父節(jié)點(diǎn)就是磁盤(pán)根目錄
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é)點(diǎn)對(duì)應(yīng)目錄的文件,需要組成全路徑
Dim?MyAllPathName?As?String?=?TreeView1.SelectedNode.Text
Dim?MyNode?As?TreeNode?=?TreeView1.SelectedNode
If?TreeView1.SelectedNode.Level?=?0?Then
'如果選中的是根節(jié)點(diǎn)
MyAllPathName?=?ComboBox1.Text
Else
'如果選中的是非根節(jié)點(diǎn),調(diào)用遞歸過(guò)程組成全路徑
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
有這個(gè)條件是為了避免 當(dāng)列表沒(méi)有選項(xiàng)的時(shí)候 或者 有選項(xiàng)但沒(méi)有選中的時(shí)候 點(diǎn)擊刪除按鈕會(huì)引發(fā)錯(cuò)誤 selectindex =-1 是沒(méi)有選中的時(shí)候默認(rèn)值 而列表序號(hào)從0開(kāi)始 刪除一個(gè)不存在的序號(hào)引發(fā)錯(cuò)誤
da.Fill(ds1, "收費(fèi)站信息表")
For i = 0 To ds1.Tables.Count - 1
ComboBox1.Items.Add((ds1.Tables(0).Rows(i).Item("收費(fèi)站名稱(chēng)").ToString))
Next i
標(biāo)題名稱(chēng):包含vb.net顯示列表的詞條
當(dāng)前鏈接:http://jinyejixie.com/article30/hephso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)、微信小程序、全網(wǎng)營(yíng)銷(xiāo)推廣、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)