vb.net树形菜单 net 树形菜单

VB.net如何动态获取菜单栏中的菜单名并用树型表示

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

网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于企业网站制作,高端网页制作,对会所设计等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业seo优化优化,H5建站,响应式网站。

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中的treeview(树形菜单)控件怎么用阿??

使用 treeview的 AfterSelect 事件,如:

vb.net代码:

Private Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.AfterSelect

'执行相应的功能。

End Sub

VB.NET中的treeview控件

''' summary

''' 加入菜单子节点

''' /summary

''' param name="tbMenu"菜单表/param

''' param name="tvNode"父节点/param

''' remarks/remarks

Private Sub AddNode(ByVal tbMenu As DataTable, ByVal tvNode As TreeNode)

Dim myRow As DataRow() = tbMenu.Select(String.Format("PRMENUID = '{0}'", tvNode.NodeID), "SORTORDER")‘查询子菜单,按SORTORDER字段排序

Dim strURL As String = String.Empty‘菜单链接

For Each DataRow In myRow’循环所有子菜单

Dim MainMenuNode As TreeNode = New TreeNode() With {.Text = DataRow.Item("VALUE"), .NodeID = DataRow.Item("MENU_ID")}'实例化一个子节点

If DataRow.Item("URL").ToString.Length 0 Then

strURL = String.Format("{0}?menuid={1}", DataRow.Item("URL"), DataRow.Item("MENUID"))’菜单链接

MainMenuNode.NavigateUrl = strURL

MainMenuNode.IconUrl = "../image/leaf.gif"‘菜单图标

End If

MainMenuNode.SingleClickExpand = True’设置单击菜单时展开子菜单

MainMenuNode.Expanded = True‘默认展开所有菜单

tvNode.Nodes.Add(MainMenuNode)’将子节点添加进父节点

AddNode(tbMenu, MainMenuNode) '利用递归生成树形菜单

Next

End Sub

希望对你有帮助。

VB.NET2008我想要实现如下图的效果,点击左边的菜单,右边主体内容换个了窗口,怎么实现? 用什么实现 50

可以做一个基窗体作为父窗体,父窗体上有左边的菜单栏

然后所有画面都继承这个父窗体,然后所有页面都会有父窗体左边菜单栏了,每个页面内容自己加控件就行 就会显示都右边的

不知你是否理解 不理解可追问 。。。

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

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

如何在VB.NET编辑过程中隐藏控件

乱是因为你对开发软件还不熟悉,慢慢熟悉吧.如果你真的要不显示的话可以通过代码在程序运行时动态生成控件,并设置控件的属性和事件.这里给你的只是一个指引,详细教程你在搜索引擎上搜索一下"VB.NET 动态生成控件"的案例,因为太长了,这里无法一一说明.

标题名称:vb.net树形菜单 net 树形菜单
网页路径:https://www.cdcxhl.com/article12/hhesgc.html

成都网站建设公司_创新互联,为您提供定制网站面包屑导航移动网站建设域名注册定制开发搜索引擎优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设