C# faites un clic Droit sur l'Arborescence de nœuds

J'ai un TreeView avec le nœud parent : Node0. J'ai ajouter 3 subnodes:

Node01
Node02
Node03

J'ai un popup menu qui est associé à chacun des sous-nœuds.

Mon problème: Si je clic droit directement à l'un des sous-nœuds, mon popup ne s'affiche pas. Donc, j'ai pour Sélectionner le sous-nœud premier et le bouton Droit de la souris pour le popup affiche.

  1. Comment puis-je changer le code de sorte que le Clic Droit sur un sous-nœud ouvrir le PopupMenu?
  2. Le popupMenu ont seulement OpenMe menu dans la liste. En cliquant sur ce menu, windows est censé l'ouvrir et c'est ce que windows doit être associé au sous-menu, j'ai cliqué. Comment obtenir de l'Événement du droit-cliquez sur le sous-menu et afficher le Formulaire avec elle?

EDIT:

Regardez cette

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);
        }
    }

La ligne String s = treeView1.SelectedNode.Text; obtient le nom du nœud sélectionné et pas le nœud qui ont été cliqué avec le bouton droit.

Donc ici j'ai modifier ce bout de code avec la

private void treeview1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
                MessageBox.Show(e.Node.Name);
        }

Je le modifier comme ceci:

try
        {
            TreeNodeMouseClickEventArgs ee;
            new chartModify(ee.Node.Name).ShowDialog();
        }

mais il ne fonctionne pas : Error:Use of unassigned local variable 'ee'

EDIT #2: Enfin obtenu la solution

public string s;
private void modifySettingsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                new chartModify(s).ShowDialog();
            }
            catch (Exception er)
            {
                System.Console.WriteLine(">>>" + er.Message);
            }
        }

et puis

private void treeview1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                s = e.Node.Name;
                menuStrip1.Show();
            }
        }

il fonctionne,
Grâce

Où est votre code pour le clic droit ?
La technologie? WinForms? WebForms? ASP.NET MVC? WPF?

OriginalL'auteur DeathCoder | 2013-01-08