首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

TreeView1_NodeMouseClick事件中处理上下文菜单出现离奇有关问题,等大神?

2012-04-18 
TreeView1_NodeMouseClick事件中处理上下文菜单出现离奇问题,急等大神??????????????我想在树节点上对不同

TreeView1_NodeMouseClick事件中处理上下文菜单出现离奇问题,急等大神??????????????
我想在树节点上对不同层次的节点单击鼠标右键时,出现的菜单是不一样的(有的菜单项是禁用的),我这里节点层次共有三个:即根目录节点、子目录节点和文档节点。结果就右键单击文档节点与期待效果一致。相应代码如下:

VB.NET code
 Private Sub TreeView1_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick                If e.Button = Windows.Forms.MouseButtons.Right Then            MsgBox(e.Node.Text)            If e.Node.Nodes.Count <> 0 AndAlso e.Node.Text <> TreeView1.Nodes(0).Text Then                MsgBox("rootDirectory node")                文档ToolStripMenuItem.Enabled = False                删除ToolStripMenuItem.Enabled = False                编辑ToolStripMenuItem.Enabled = False                复制ToolStripMenuItem.Enabled = False                剪切ToolStripMenuItem.Enabled = False                粘贴ToolStripMenuItem.Enabled = False            End If            If e.Node.Nodes.Count <> 0 AndAlso e.Node.Text <> TreeView1.Nodes(0).Text Then                MsgBox("sonDirectory node")                目录ToolStripMenuItem.Enabled = False                编辑ToolStripMenuItem.Enabled = False                复制ToolStripMenuItem.Enabled = False                剪切ToolStripMenuItem.Enabled = False            End If            If e.Node.Nodes.Count = 0 Then                MsgBox("leaf node")                目录ToolStripMenuItem.Enabled = False                粘贴ToolStripMenuItem.Enabled = False            End If        End If    End Sub

相应的图片如下:



注:为了测试方便,我加了几个输出语句,如上图,在目录上单击右键,没有禁用任何菜单项,也没有任何输出,然而在文档节点上单击,一切正常,有灰色禁用的菜单项,也有相应输出。

[解决办法]
下断点查看下If e.Node.Nodes.Count <> 0 AndAlso e.Node.Text <> TreeView1.Nodes(0).Text 语句啊,没弹出msg就是这里if条件是false了

热点排行