2010-09-07 86 views
2

我有一个与树视图关联的contextmenuStrip。如果右键单击,ContextMenuStrip从树视图中的项目失去焦点

现在,例如,我有四个节点在树结构和节点4被选中。

行为: 的ContextMenuStrip - 当U右击节点2,该节点被选择,只要上下文菜单条打开时,焦点返回到节点4

随着旧组件“上下文菜单“此功能工作正常,即节点2有焦点,直到时间上下文菜单打开。

只要上下文菜单打开,我想选择节点2。当上下文菜单关闭时,选择/焦点应返回到节点4。

请咨询。

感谢和问候 萨米特

回答

1

是,TreeView控件时,而其事件中的一个运行的重点是改变相当片状。这是区分BeforeXxxx和AfterXxxx事件的一个原因。不幸的是,上下文菜单条显示得太快。解决方案是通过实施NodeMouseClick事件来自己显示上下文菜单。像这样:

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { 
     if (e.Button == MouseButtons.Right) { 
      treeView1.SelectedNode = e.Node; 
      contextMenuStrip1.Show(treeView1, e.Location); 
     } 
    } 

我以后会把重点放回你身上。实施它没有多大意义。

+0

感谢您的反馈意见。 – Sumit 2010-09-10 15:31:39