假设我正在使用上下文菜单将子节点添加到树视图控件。

(1)我右键单击节点

(2)弹出上下文菜单

(3)然后我点击“添加”按钮菜单项

(4)打开一个对话框

(5)我在DialogBox中输入名称,然后按OK

(6)创建一个新节点。

当我点击上下文菜单项时,如何获取当前节点的引用?

我需要这个,因为父对象存储在当前节点的Tag属性中。

有帮助吗?

解决方案

如果您处理 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)

并在其下方添加一个孩子。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top