2009-09-09 111 views
0

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

(1)我的节点上单击鼠标右键

(2)上下文菜单弹出

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

(4)一个对话框打开

(5)在对话框输入我的名字,然后按OK

(6)一个新的节点创建。

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

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

回答

7

如果您处理TreeNodeMouseClick,那么您的TreeNodeMouseClickEventHandler将通过TreeNodeMouseClickEventArgs参数。

TreeNodeMouseClickEventArgs.Node将是您想要的TreeNode引用。看到TreeNodeMouseClick文档为类似于一个例子:

void treeView1_NodeMouseClick(object sender, 
    TreeNodeMouseClickEventArgs e) 
{ 
    TreeNode theTreeNodeIWant = e.Node 

} 

如果需要,可以存储在一个成员变量的引用,以便另一种方法可以访问它。

1

您可以从

System.Windows.Forms.Cursor.Position 

保存此得到展示的上下文菜单之前鼠标的位置。

然后使用含有您的项目

GetChildAtPoint(Point) 

树视图的方法,并添加下面的一个孩子。