vb.net菜單的層數(shù) vb窗體層

VB.net怎么制作樹形菜單???

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

創(chuàng)新互聯(lián)執(zhí)著的堅持網(wǎng)站建設(shè),微信小程序;我們不會轉(zhuǎn)行,已經(jīng)持續(xù)穩(wěn)定運營10多年。專業(yè)的技術(shù),豐富的成功經(jīng)驗和創(chuàng)作思維,提供一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造品牌,攜手廣大客戶,共同發(fā)展進步。

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

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

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é)點

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)

'添加樹結(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如何動態(tài)獲取菜單欄中的菜單名并用樹型表示

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

Try

’使TreeView可以被編輯

TreeView1.LabelEdit = True

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

各個工種名稱可以被編輯

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

‘添加節(jié)點

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

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é)點名字從其他處(如數(shù)據(jù)庫)得來,那么你還需要更新數(shù)據(jù)庫

編輯:

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

‘此時你改完了節(jié)點名字

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 一個是改前的名字一個是該后的名字,具體哪個對

哪個請查MSDN

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

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

。。。。 ‘我的更改

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

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

End If

End If

Catch err As Exception

MsgBox(err.ToString)

End Try

End Sub

其他:

擋treeview得到焦點時你可以使用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

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

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

件名字相似。

.net framework 4.0 中的類層次結(jié)構(gòu) VB很亂啊 總共有多少類,都是干嘛的啊 大神啊,求解啊

用到再學(xué)也不遲,平時最常用的就是system.windows.forms,system.io,system.data,system.xml等??峙聸]有人對每個類都了解吧,統(tǒng)計總數(shù)也沒什么意義。

當(dāng)前文章:vb.net菜單的層數(shù) vb窗體層
地址分享:http://www.muchs.cn/article30/hphhpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)網(wǎng)站營銷、標(biāo)簽優(yōu)化、網(wǎng)站策劃、全網(wǎng)營銷推廣、網(wǎng)站維護

廣告

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

外貿(mào)網(wǎng)站建設(shè)