我有一个 TreeView,我需要两件事。
- 如果我单击特定节点,则支持右键单击。
- 如果我单击树上的任何其他位置(没有节点的地方),则支持右键单击。
这两个选项都会给我一个不同的ContextMenuStrip
。
我的两个程序现在支持这两种类型的点击。
具体节点点击:
var someNode = e.Node.Tag as SomeNode;
if (someNode != null)
{
someContextMenu.Show(someTree, e.Location);
return;
}
树上的任意位置单击:
问题在于,树上的任何位置单击
事件将在检查我是否单击了节点或 TreeView< 中的空白点之前触发
。
知道如何改变这种行为吗?
最佳答案
假设您询问的是 winforms。
您可以使用TreeView.HitTest返回 TreeViewHitTestInfo 的方法您可以在其中知道是否命中节点。
关于c# - TreeNode 单击与 TreeView 单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12185132/