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