C # Clique com o botão direito nos nós do TreeView
eu tenho umTreeView
com o nó pai:Node0
. Eu adiciono 3subnodes
:
Node01
Node02
Node03
eu tenho umpopup menu
que é associado a cada um dos subnós.
Meu problema: Se eu clicar com o botão direito do mouse diretamente em um dos subnós, meu popup não será exibido. Então eu tenho que selecionar o subnó primeiro e clique com o botão direito para ter o popup exibido.
Como posso alterar o código para que o Direct Right-Click em um SubNode específico abra o PopupMenu?O popupMenu tem apenasOpenMe
menu na lista. Ao clicar neste menu, uma janela deve ser aberta e essa janela deve estar associada ao submenu que eu cliquei. Como obter o evento do submenu do botão direito e exibir o formulário com ele?EDITAR:
Veja isso
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);
}
}
A linhaString s = treeView1.SelectedNode.Text;
Obtém o nome do nó selecionado e não o nó que foi clicado com o botão direito do mouse.
Então, aqui eu tenho que modificar este pedaço de código com o
private void treeview1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Button == MouseButtons.Right)
MessageBox.Show(e.Node.Name);
}
Eu modifico assim:
try
{
TreeNodeMouseClickEventArgs ee;
new chartModify(ee.Node.Name).ShowDialog();
}
mas não funciona :Error:Use of unassigned local variable 'ee'
EDIT # 2: Finalmente tenho a solução
public string s;
private void modifySettingsToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
new chartModify(s).ShowDialog();
}
catch (Exception er)
{
System.Console.WriteLine(">>>" + er.Message);
}
}
e depois
private void treeview1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
s = e.Node.Name;
menuStrip1.Show();
}
}
funciona,
obrigado