189 8069 5689

vb.net菜单的层数 vb窗体层

VB.net怎么制作树形菜单啊?

你说的“树形菜单”是指下拉菜单(可以有子菜单)吗?如果是,VB.net提供了MenuStrip控件,在工具箱里能找到,直接就在对应位置打字就可以了,完全是“所见即所得”。

创新互联执着的坚持网站建设,微信小程序;我们不会转行,已经持续稳定运营10多年。专业的技术,丰富的成功经验和创作思维,提供一站式互联网解决方案,以客户的口碑塑造品牌,携手广大客户,共同发展进步。

vb.net从数据库读取信息填充treeview做成层次目录怎么做

给你一段我曾经写的代码,主要是生成TreeView的节点!有什么不懂的地方你就提!

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)

'添加根节点

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)

'添加树结构第二层

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如何动态获取菜单栏中的菜单名并用树型表示

添加:(先在加一个contextMenu,再它的添加子菜单的click事件编程)

Try

’使TreeView可以被编辑

TreeView1.LabelEdit = True

‘判断你是不是选定的是不可编辑的节点,我这里工种节点不可以被编辑,只有工种下级的

各个工种名称可以被编辑

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

‘添加节点

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

删除与添加类似,只是如果你的节点名字从其他处(如数据库)得来,那么你还需要更新数据库

编辑:

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

‘此时你改完了节点名字

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("此操作会导致当前工种中的所有人员的工种都被更改,是否确定?", 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菜单添加“更改”项,而是直接更改:即左键单击节点表示

选中,再单击一下就可以编辑了,更改之后单击他处就完成更改,和你在windows中更改文

件名字相似。

.net framework 4.0 中的类层次结构 VB很乱啊 总共有多少类,都是干嘛的啊 大神啊,求解啊

用到再学也不迟,平时最常用的就是system.windows.forms,system.io,system.data,system.xml等。恐怕没有人对每个类都了解吧,统计总数也没什么意义。


分享名称:vb.net菜单的层数 vb窗体层
网页网址:http://cdxtjz.com/article/hphhpo.html

其他资讯