【发布时间】:2023-03-15 20:54:01
【问题描述】:
假设我正在使用上下文菜单将子节点添加到树视图控件。
(1)我在节点上右击
(2)上下文菜单弹出
(3)然后我点击“添加”菜单项
(4)打开一个对话框
(5) 我在该对话框中输入名称并按 OK
(6) 创建一个新节点。
点击上下文菜单项时如何获取当前节点的引用?
我需要这个,因为父对象存储在当前节点的 Tag 属性中。
【问题讨论】:
标签: winforms treeview contextmenu
假设我正在使用上下文菜单将子节点添加到树视图控件。
(1)我在节点上右击
(2)上下文菜单弹出
(3)然后我点击“添加”菜单项
(4)打开一个对话框
(5) 我在该对话框中输入名称并按 OK
(6) 创建一个新节点。
点击上下文菜单项时如何获取当前节点的引用?
我需要这个,因为父对象存储在当前节点的 Tag 属性中。
【问题讨论】:
标签: winforms treeview contextmenu
如果您处理TreeNodeMouseClick,那么您的TreeNodeMouseClickEventHandler 将被传递一个TreeNodeMouseClickEventArgs 参数。
TreeNodeMouseClickEventArgs.Node 将是您想要的 TreeNode 引用。有关类似于以下内容的示例,请参阅 TreeNodeMouseClick 文档:
void treeView1_NodeMouseClick(object sender,
TreeNodeMouseClickEventArgs e)
{
TreeNode theTreeNodeIWant = e.Node
}
如果需要,可以将引用存储在成员变量中,以便其他方法可以访问它。
【讨论】:
您可以从中获取鼠标位置
System.Windows.Forms.Cursor.Position
在显示上下文菜单之前保存它。
然后在包含您的项目的 Treeview 上使用该方法
GetChildAtPoint(Point)
并在其下方添加一个孩子。
【讨论】: