2009-09-09 10 views
0

ツリービューコントロールに子ノードを追加するためにコンテキストメニューを使用しているとします。C#WinForms - ツリービュー、コンテキストメニュー

(1)私はノード

(2)コンテキストメニュー上で右クリックしていますがポップアップし

(3)その後、私は、メニュー項目

(4)ダイアログボックスを "追加" をクリックします(5)Iのそのダイアログボックスの入力名を、[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) 

あなたの項目を含むツリービューでメソッドを使用して、その下の子を追加します。

関連する問題