我有一個TreeView
父節點:Node0
。我加3 subnodes
:C#右鍵單擊TreeView節點
Node01
Node02
Node03
我有一個popup menu
是聯想到每個子節點。
我的問題:如果我直接右鍵單擊其中一個子節點,我的彈出窗口不會顯示。所以我必須先選擇子節點,然後右鍵單擊以顯示彈出窗口。
- 如何更改代碼,以便直接右鍵單擊特定的子節點打開PopupMenu?
- popup菜單隻有
OpenMe
菜單在列表中。當點擊這個菜單時,應該打開一個窗口,並且這個窗口應該與我點擊的子菜單關聯。如何獲取右鍵單擊子菜單的事件並使用它顯示Form?
編輯:
看這個
private void modifySettingsToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
String s = treeView1.SelectedNode.Text;
new chartModify(s).ShowDialog();
}
catch (Exception er)
{
System.Console.WriteLine(">>>" + er.Message);
}
}
線String s = treeView1.SelectedNode.Text;
獲取所選節點的名稱,而不是已經被右鍵單擊的節點。
所以在這裏我要修改這段代碼與
private void treeview1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Button == MouseButtons.Right)
MessageBox.Show(e.Node.Name);
}
我修改它是這樣的:
try
{
TreeNodeMouseClickEventArgs ee;
new chartModify(ee.Node.Name).ShowDialog();
}
,但它不工作:Error:Use of unassigned local variable 'ee'
編輯#2 :最後得到解決方案
public string s;
private void modifySettingsToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
new chartModify(s).ShowDialog();
}
catch (Exception er)
{
System.Console.WriteLine(">>>" + er.Message);
}
}
然後
private void treeview1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
s = e.Node.Name;
menuStrip1.Show();
}
}
它的工作原理,
感謝
哪裏是你的代碼,右鍵點擊? – ryadavilli
哪種技術?的WinForms?的WebForms? ASP.NET MVC? WPF? –