-1

ツリー ビューにコンテキスト メニュー (追加、キャンセル) を動的に追加しました。コンテキストメニュー項目をクリックしたときに、選択したツリーノードの値を表示したいと思います。

どうやってやるの?

4

2 に答える 2

2

コンテキストメニューを開いたときにどのノードが右クリックされたか知りたいと思いますか?

これを判断するには、ツリービューでmousedownイベントを処理し、コンテキストメニューが表示される前に右クリックしたノードが選択されていることを確認します。

    private void treeView1_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right)
        {
            var node = treeView1.HitTest(e.X, e.Y).Node;
            treeView1.SelectedNode = node;
        }
    }

ToolStripMenuItemのクリックハンドラーでtreeView1.SelectedNodeを確認できます。ユーザーがノードの外側のツリービューを右クリックすると、nullになります。

    private void addToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (treeView1.SelectedNode != null) MessageBox.Show("Node selected: " + treeView1.SelectedNode.Text);
    }
于 2009-08-04T09:01:02.647 に答える
1

ツリーノードのテキストを知っている必要があると思いますか?このコードは仕事をする必要があります

string treeNodeText = this.treeView1.SelectedNode.Text;
于 2009-08-04T09:00:22.743 に答える