2009-09-09 113 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) 

樹視圖的方法,並添加下面的一個孩子。