Comment créer un menu contextuel en C #

Je souhaite créer un menu contextuel à l’aide de C # qui s’affichera à côté du nœud, comme dans Visual Studio:

Le code que j’ai maintenant provoque le scintillement du formulaire principal.

private void treeView1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { var myForm = new Form {Text = "My Form"}; myForm.SetBounds(10, 10, 200, 200); myForm.Show(); // Determine if the form is modal. if (myForm.Modal == false) { // Change borderstyle and make it not a top level window. myForm.FormBorderStyle = FormBorderStyle.FixedToolWindow; myForm.TopLevel = false; } } } 

Pourquoi ne pas simplement utiliser Form.ShowDialog ?

De MSDN :

Méthode Form.ShowDialog

Affiche le formulaire sous forme de boîte de dialog modale.

Vous devez configurer treeView1.ContextMenu au lieu de l’approche que vous prenez.

Vous devriez lire et essayer le contrôle ContextMenu de c #. Je pense que cela résoudra votre problème plutôt que la technique que vous avez utilisée ….. Ou autrement que d’utiliser myform.showdialog(); avec les méthodes setbounds() .