C # Щелкните правой кнопкой мыши на узлах TreeView
у меня естьTreeView
с родительским узлом:Node0
, Я добавляю 3:subnodes
Node01
Node02
Node03
у меня естьpopup menu
это связано с каждым из подузлов.
Моя проблема: если я щелкну правой кнопкой мыши по одному из подузлов, мое всплывающее окно не отобразится. Поэтому я должен сначала выбрать подузел и щелкнуть правой кнопкой мыши, чтобы отобразилось всплывающее окно.
Как я могу изменить код так, чтобы прямой щелчок правой кнопкой мыши по определенному подузлу открыл PopupMenu?В всплывающем меню есть толькоOpenMe
меню в списке. При нажатии на это меню предполагается открыть окна, и эти окна должны быть связаны с подменю, которое я щелкнул. Как получить Событие в правом подменю и отобразить Форму вместе с ним?РЕДАКТИРОВАТЬ:
Посмотри на это
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();
}
}
оно работает,
Спасибо