ツリービューにコンテキストメニュー(追加、キャンセル)を動的に追加しました。ここで、コンテキストメニュー項目のクリックをクリックすると、選択したツリーノードの値を表示します。c#winformsコンテキストメニューイベントの問題
どうすればいいですか?
ツリービューにコンテキストメニュー(追加、キャンセル)を動的に追加しました。ここで、コンテキストメニュー項目のクリックをクリックすると、選択したツリーノードの値を表示します。c#winformsコンテキストメニューイベントの問題
どうすればいいですか?
私はあなたが単にtreenodeのテキストを知る必要があると仮定します。このコードは仕事、私はあなたがコンテキストメニューを開いたときに右クリックされたノードを知りたいと仮定し
string treeNodeText = this.treeView1.SelectedNode.Text;
すればよいですか?
これを確認するには、ツリービューでmousedownイベントを処理し、右クリックしたノードがコンテキストメニューが表示される前に選択されていることを確認します。 ToolStripMenuItemのクリックハンドラで
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;
}
}
あなたがtreeView1.SelectedNodeを確認することができ、ユーザが右ノード外のツリービューをクリックした場合、それはnullになります。
private void addToolStripMenuItem_Click(object sender, EventArgs e)
{
if (treeView1.SelectedNode != null) MessageBox.Show("Node selected: " + treeView1.SelectedNode.Text);
}
何が問題ですか? –
ya問題を解決してください申し訳ありません – Nagu