質問

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

(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

コンテキストメニューを表示する前にこれを保存します。

次に、アイテムを含むツリービューのメソッドを使用します

GetChildAtPoint(Point)

そしてその下に子を追加します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top