
动态建立TreeView时,如何建立事件响应,使TreeView中的节点TreeNode被点击时,能够获取TreeNode的Tag?
前段时间,我试动态创建菜单,然后点击菜单时能够响应,获取ToolStripMenuItem的Tag,以便显示相应的Form,但运用到TreeView时发觉有难度!以下是两...
前段时间,我试动态创建菜单,然后点击菜单时能够响应,获取ToolStripMenuItem的Tag,以便显示相应的Form,但运用到TreeView时发觉有难度!以下是两次尝试的代码:
动态创建菜单:
Private Sub tsmi_create()
……
Dim windowNewMenu As New ToolStripMenuItem(myview_first(i)("tsmi_name").ToString, Nothing)
windowNewMenu.Tag = myview_first(i)("tsmi_name").ToString
AddHandler windowNewMenu.Click, AddressOf tsmi_click
windowMenu.DropDownItems.Add(windowNewMenu)
……
End Sub
Private Sub tsmi_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim FormStr As String = tsmi_NameConvert((DirectCast(sender, ToolStripMenuItem)).Tag.ToString)
……
End Sub
以上是成功的~~
动态创建TreeView:
Private Sub treeview_create()
……
Dim MyNode As New TreeNode(MyDv(j)("tsmi_name").ToString)
MyNode.Tag = MyDv(j)("tsmi_name").ToString
TreeView01.Nodes(0).Nodes(i).Nodes.Add(MyNode)
AddHandler TreeView01.NodeMouseClick, AddressOf treeviewnode_click
……
End Sub
Private Sub treeviewnode_click(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs)
Dim FormStr As String = (DirectCast(sender, TreeNode)).Tag.ToString
……
End Sub
但上面这个尝试却失败了。
提示:无法将类型为“System.Windows.Forms.TreeView”的对象强制转换为类型“System.Windows.Forms.TreeNode”
这该如何解决呢!谢谢! 展开
动态创建菜单:
Private Sub tsmi_create()
……
Dim windowNewMenu As New ToolStripMenuItem(myview_first(i)("tsmi_name").ToString, Nothing)
windowNewMenu.Tag = myview_first(i)("tsmi_name").ToString
AddHandler windowNewMenu.Click, AddressOf tsmi_click
windowMenu.DropDownItems.Add(windowNewMenu)
……
End Sub
Private Sub tsmi_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim FormStr As String = tsmi_NameConvert((DirectCast(sender, ToolStripMenuItem)).Tag.ToString)
……
End Sub
以上是成功的~~
动态创建TreeView:
Private Sub treeview_create()
……
Dim MyNode As New TreeNode(MyDv(j)("tsmi_name").ToString)
MyNode.Tag = MyDv(j)("tsmi_name").ToString
TreeView01.Nodes(0).Nodes(i).Nodes.Add(MyNode)
AddHandler TreeView01.NodeMouseClick, AddressOf treeviewnode_click
……
End Sub
Private Sub treeviewnode_click(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs)
Dim FormStr As String = (DirectCast(sender, TreeNode)).Tag.ToString
……
End Sub
但上面这个尝试却失败了。
提示:无法将类型为“System.Windows.Forms.TreeView”的对象强制转换为类型“System.Windows.Forms.TreeNode”
这该如何解决呢!谢谢! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询