vb.net树状控件,C#树控件

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

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

创新互联专注于企业全网营销推广、网站重做改版、安溪网站定制设计、自适应品牌网站建设、HTML5购物商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为安溪等各大城市提供网站开发制作服务。

vb.net中treeview控件用法

由于每个 TreeNode 都可以包含其他 TreeNode 对象的集合,您可能会在循环访问集合时觉得很难确定自己在树结构中的位置。您可以使用 PathSeparator 字符串值来分析 TreeNode.FullPath 字符串,以确定 TreeNode 标签的起始和终止位置。

可以在树节点旁显示图像,方法是将一个 ImageList 分配给 ImageList 属性,然后通过引用 Image 在 ImageList 中的索引值来分配该 Image。使用下面的属性分配图像:

将 ImageIndex 属性设置为当树节点未选定时所显示的 Image 的索引值。

将 SelectedImageIndex 属性设置为当树节点被选定时要显示的 Image 的索引值。

ImageIndex 和 SelectedImageIndex 属性值所引用的图像是所有分配给 Nodes 集合的树节点显示的默认图像。每个树节点都可以通过设置 TreeNode.ImageIndex 和 TreeNode.SelectedImageIndex 属性来取代默认的图像。

树节点可以展开,以显示下一级子树节点。用户可以在 TreeNode 旁显示加号 (+) 按钮时通过单击加号 (+) 按钮来展开 TreeNode,或者可以通过调用 TreeNode.Expand 方法来展开 TreeNode。若要展开 Nodes 集合中的所有子树节点级别,请调用 ExpandAll 方法。若要折叠子 TreeNode 级别,可以调用 TreeNode.Collapse 方法,也可以在 TreeNode 旁显示减号 (-) 按钮时按减号 (-) 按钮。还可以通过调用 TreeNode.Toggle 方法在展开和折叠状态之间切换。

树节点可以选择性地显示复选框。若要显示复选框,请将 TreeView 的 CheckBoxes 属性设置为 true。对于处于选中状态的树节点,Checked 属性设置为 true。

注意

从 BeforeCheck 或 AfterCheck 事件内设置 TreeNode.Checked 属性将导致该事件被多次引发并可能产生意外行为。例如,您可以在递归更新子节点时在事件处理程序中设置 Checked 属性,以便用户不必逐个展开并选中每个节点。如果未将 TreeViewEventArgs 的 Action 属性设置为 TreeViewAction.Unknown,则若要防止该事件被多次引发,需为仅执行递归代码的事件处理程序添加逻辑。有关如何进行此操作的示例,请参见 AfterCheck 或 BeforeCheck 事件的示例部分。

通过设置 TreeView 控件的一些显示和样式属性,可以更改此控件的外观。如果将 ShowPlusMinus 设置为 true,则会分别在每个可展开或折叠的 TreeNode 旁显示加号或减号按钮。如果将 ShowRootLines 属性设置为 true,TreeView 则会显示联接所有根树节点之间的连线。通过将 ShowLines 属性设置为 true,可以显示子树节点与其根节点之间的连线。如果将 HotTracking 属性设置为 true,那么当鼠标指针移过树节点标签时,树节点标签的外观将发生变化。如果启用热跟踪,树节点标签将具有超链接的外观。也可以完全自定义 TreeView 控件的外观。若要执行此操作,请将 DrawMode 属性设置为 TreeViewDrawMode.Normal 以外的值并处理 DrawNode 事件。

注意

在运行时设置 CheckBoxes、Scrollable、ImageIndex 和 SelectedImageIndex 属性时,将重新创建 TreeView 句柄(请参见 Control.RecreateHandle)以更新控件的外观。这将折叠除选定的 TreeNode 之外的所有树节点。

下面的代码示例阐释了如何使用 TreeView 控件。

Private Sub InitializeTreeView()

treeView1.BeginUpdate()

treeView1.Nodes.Add("Parent")

treeView1.Nodes(0).Nodes.Add("Child 1")

treeView1.Nodes(0).Nodes.Add("Child 2")

treeView1.Nodes(0).Nodes(1).Nodes.Add("Grandchild")

treeView1.Nodes(0).Nodes(1).Nodes(0).Nodes.Add("Great Grandchild")

treeView1.EndUpdate()

End Sub

From MSDN

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 net treeview控件如何设置某节点被选择

TreeView的SelectedNode属性获取或设置当前选择的节点。

TreeView1.SelectedNode = TreeView1.Nodes(1) '选择第二个节点


网页标题:vb.net树状控件,C#树控件
分享路径:http://myzitong.com/article/heiihp.html