C#WinForms - TreeView,上下文菜单
-
05-07-2019 - |
题
假设我正在使用上下文菜单将子节点添加到树视图控件。
(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)
并在其下方添加一个孩子。
不隶属于 StackOverflow