web-dev-qa-db-fra.com

Comment répondre à un clic sur un élément ContextMenuStrip

Actuellement, j'ai le code suivant:

ContextMenuStrip contexMenuuu = new ContextMenuStrip();

contexMenuuu.Items.Add("Edit ");
contexMenuuu.Items.Add("Delete " );
contexMenuuu.Show();

Comment puis-je ajouter un événement à traiter lorsqu'un utilisateur clique sur un élément?

22
user725177

Cela peut être fait en utilisant le code suivant:

ContextMenuStrip contexMenu = new ContextMenuStrip();

contexMenu.Items.Add("Edit ");
contexMenu.Items.Add("Delete ");
contexMenu.Show();
contexMenu.ItemClicked += new ToolStripItemClickedEventHandler(
    contexMenu_ItemClicked);

// ...

void contexMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e) {
    ToolStripItem item = e.ClickedItem;
    // your code here
}

Ou bien:

// ...

ToolStripItem item = contexMenu.Items.Add("Edit ");
item.Click += new EventHandler(item_Click);

// ...

void item_Click(object sender, EventArgs e) {
    ToolStripItem clickedItem = sender as ToolStripItem;
    // your code here
}
34
DevExpress Team

Add retourne la méthode ToolStripItem . Vous pouvez donc ajouter une poignée à l'événement Click

        var item = contexMenuuu.Items.Add("Edit ");
        item.Click += methodToBeInvoked;
5
Stecya