Witam.
W swojej aplikacji korzystam z formy TreeView. Jej galezie wygladaja nastepujaco:
Swiat
Azja1
Azja2
Europa1
Anglia
Polska
Warszawa
Wroclaw
Europa2
Chce, aby po kliknieciu galezi Azja prawym przyciskiem myszy wyswietlilo sie ContextMenu, a po kliknieciu galezi Europa prawym przyciskiem myszy wyswietlil sie MessageBox.
Czesc kodu mojego programu:
private void treeView_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
TreeNode nodeSelected = treeView.GetNodeAt(e.X, e.Y);
if (nodeSelected != null)
{
treeView.SelectedNode = nodeSelected;
if (Regex.IsMatch(nodeSelected.Text, "Azja" + @"\d"))
{
ContextMenu contextMenu = new ContextMenu();
contextMenu.MenuItems.Add("Edytuj");
contextMenu.MenuItems.Add("Usun");
treeView.ContextMenu = contextMenu;
treeView.ContextMenu.Show(treeView, new Point(e.X, e.Y));
}
else if (Regex.IsMatch(nodeSelected.Text, "Europa" + @"\d"))
{
MessageBox.Show("Nie mozesz edytowac/usunac galezi Europa!!!");
}
}
}
}
Fakt po pierwszym kliknieciu prawym przyciskiem na galez Azja wyswietla sie ContextMenu. Niestety od tej pory po kliknieciu prawym przyciskiem na dowolna galez ponownie wyswietla sie ContextMenu..
Prosze o pomoc.
Pozdrawiam.
Rafał (bakłażan)