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

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

vb.net表達(dá)式目錄樹(shù)的簡(jiǎn)單介紹

vb.net從數(shù)據(jù)庫(kù)讀取信息填充treeview做成層次目錄怎么做

給你一段我曾經(jīng)寫(xiě)的代碼,主要是生成TreeView的節(jié)點(diǎn)!有什么不懂的地方你就提!

阿爾山網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),阿爾山網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為阿爾山1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的阿爾山做網(wǎng)站的公司定做!

Public Sub InitializeTreeView(ByVal strvXL As TreeView, ByVal vrsRecordTwo As DataSet)

Dim treBaseNodeOne As TreeNode

Dim treBaseNodeTwo As TreeNode

Dim strDWDM As String

m_rsRecordTwo = g_clsSybase.SelectSC_PD_SBCSB1()

'查找供電局信息

g_clsSybase.SelectRS_ZZJG_ZZJGDMB(m_rsRecordOne)

'添加根節(jié)點(diǎn)

Do While m_rsRecordOne.Read

strDWDM = m_rsRecordOne.GetString(0) '獲取單位代碼

treBaseNodeOne = New TreeNode

treBaseNodeOne.Text = m_rsRecordOne.GetString(1).Trim() '獲取單位名稱

treBaseNodeOne.Name = m_rsRecordOne.GetString(1)

treBaseNodeOne.Tag = ""

strvXL.Nodes.Add(treBaseNodeOne)

'添加樹(shù)結(jié)構(gòu)第二層

Dim drsTwo() As DataRow

drsTwo = m_rsRecordTwo.Tables(0).Select("SSDW='" strDWDM "' and SC__XLBM is null")

For Each dr As DataRow In drsTwo

treBaseNodeTwo = New TreeNode

treBaseNodeTwo.Text = dr.Item("XLMC").ToString.Trim

treBaseNodeTwo.Name = dr.Item("XLMC")

treBaseNodeTwo.Tag = dr.Item("XLBM")

treBaseNodeOne.Nodes.Add(treBaseNodeTwo)

Next

Loop

m_rsRecordOne.Close()

End Sub

vb.net 磁盤(pán)文件列表,界面如圖,在.net下如何實(shí)現(xiàn)?

預(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

VB.net怎么制作樹(shù)形菜單?。?/h2>

你說(shuō)的“樹(shù)形菜單”是指下拉菜單(可以有子菜單)嗎?如果是,VB.net提供了MenuStrip控件,在工具箱里能找到,直接就在對(duì)應(yīng)位置打字就可以了,完全是“所見(jiàn)即所得”。

VB.net如何動(dòng)態(tài)獲取菜單欄中的菜單名并用樹(shù)型表示

添加:(先在加一個(gè)contextMenu,再它的添加子菜單的click事件編程)

Try

’使TreeView可以被編輯

TreeView1.LabelEdit = True

‘判斷你是不是選定的是不可編輯的節(jié)點(diǎn),我這里工種節(jié)點(diǎn)不可以被編輯,只有工種下級(jí)的

各個(gè)工種名稱可以被編輯

If Trim(TreeView1.SelectedNode.Text) = "工種" Then

‘添加節(jié)點(diǎn)

AddNode = New TreeNode("請(qǐng)輸入新工種名字")

TreeView1.SelectedNode.Nodes.Add(AddNode)

TreeView1.ExpandAll()

AddNode.BeginEdit()

TreeView1.LabelEdit = True

NodeAdded = True

End If

Catch err As Exception

MsgBox(err.ToString)

End Try

刪除與添加類似,只是如果你的節(jié)點(diǎn)名字從其他處(如數(shù)據(jù)庫(kù))得來(lái),那么你還需要更新數(shù)據(jù)庫(kù)

編輯:

Private Sub TreeView1_BeforeLabelEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.NodeLabelEditEventArgs) Handles TreeView1.BeforeLabelEdit

TreeView1.LabelEdit = True ‘使可以編輯

AddNode = TreeView1.SelectedNode

End Sub

Private Sub TreeView1_AfterLabelEdit(ByVal sender As Object, ByVal e As System.windows.Forms.NodeLabelEditEventArgs) Handles TreeView1.AfterLabelEdit

Try

‘此時(shí)你改完了節(jié)點(diǎn)名字

TreeView1.SelectedNode.EndEdit(True)

If e.Label Is Nothing Then

'do nothing

ElseIf e.Node.Text = "工種" Then ‘工種不能改

e.CancelEdit() = True

‘e.Node.Text ,e.Label.ToString 一個(gè)是改前的名字一個(gè)是該后的名字,具體哪個(gè)對(duì)

哪個(gè)請(qǐng)查MSDN

ElseIf Trim(e.Node.Text) "工種" And e.Node.Text e.Label.ToString Then

If MsgBox("此操作會(huì)導(dǎo)致當(dāng)前工種中的所有人員的工種都被更改,是否確定?", MsgBoxStyle.YesNo + MsgBoxStyle.Information, "警告") = MsgBoxResult.Yes Then

。。。。 ‘我的更改

MsgBox("更改成功!", MsgBoxStyle.OKOnly, "提示")

'Call InitTree() ‘有時(shí)要重新把treeview初始化一遍,視需求定

End If

End If

Catch err As Exception

MsgBox(err.ToString)

End Try

End Sub

其他:

擋treeview得到焦點(diǎn)時(shí)你可以使用ContextMenu,反之ContextMenu禁用

Private Sub TreeView1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.GotFocus

TreeView1.ContextMenu = ContextMenu1

End Sub

Private Sub TreeView1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.LostFocus

TreeView1.ContextMenu = Nothing

End Sub

注意:這里沒(méi)有在ContextMenu菜單添加“更改”項(xiàng),而是直接更改:即左鍵單擊節(jié)點(diǎn)表示

選中,再單擊一下就可以編輯了,更改之后單擊他處就完成更改,和你在windows中更改文

件名字相似。


網(wǎng)頁(yè)標(biāo)題:vb.net表達(dá)式目錄樹(shù)的簡(jiǎn)單介紹
轉(zhuǎn)載源于:http://weahome.cn/article/doseihe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部