c# - TreeNode 单击与 TreeView 单击

标签 c# winforms treeview nodes contextmenustrip

我有一个 TreeView,我需要两件事。

  • 如果我单击特定节点,则支持右键单击。
  • 如果我单击树上的任何其他位置(没有节点的地方),则支持右键单击。

这两个选项都会给我一个不同的ContextMenuStrip
我的两个程序现在支持这两种类型的点击。

具体节点点击:

var someNode = e.Node.Tag as SomeNode;
if (someNode != null)
{
   someContextMenu.Show(someTree, e.Location);
   return;
}

树上的任意位置单击:

enter image description here

问题在于,树上的任何位置单击事件将在检查我是否单击了节点TreeView< 中的空白点之前触发
知道如何改变这种行为吗?

最佳答案

假设您询问的是 winforms。

您可以使用TreeView.HitTest返回 TreeViewHitTestInfo 的方法您可以在其中知道是否命中节点。

关于c# - TreeNode 单击与 TreeView 单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12185132/

相关文章:

c# - WCF 应用端点

c# - 从 C# 确定父进程 ID

c# - LINQ OrderBy 排序不正确

c# - 需要在gif中选择一个帧

c# - 如何在 C#/Winforms 中将队列绑定(bind)到 DataGridView?

c# - Microsoft 图表控件和 X 轴时间刻度格式

javascript - 从客户端填充 asp.net TreeView

c# - 使用带有 HierarchicalDatatemplate 的附加行为

wpf - MVVM 以编程方式选择 TreeView 项

c# - IDynamicMetaObjectProvider 使用文字名称设置属性