Vérifier élément de sous-menu est cliqué dans le menu contextuel de la bande
Il y a un ContextMenuStrip dans une grille de contrôle.
Je l'ai nommé comme GridContextMenu.
La GridContextMenu est rempli avec 4 - 5 éléments en utilisant le code suivant :
gridcontextMenu.Items.Add(new ToolStripMenuItem
{
Name = Plants,
Text = Plants,
Tag = Plants,
Width = 100,
Image = <image source is put here>
});
gridcontextMenu.Items.Add(new ToolStripMenuItem
{
Name = Animals,
Text = Animals,
Tag = Animals,
Width = 100,
Image = <image source is put here>
});
Pour l'animal menu dans la barre d'outils, j'ai ajouté des sous-menu de la façon suivante
(gridcontextMenu.Items[1] as ToolStripMenuItem).DropDownItems.Add("Tiger", image_source, new EventHandler(SubmenuItem_Click));
(gridcontextMenu.Items[1] as ToolStripMenuItem).DropDownItems.Add("Lion", image_source, new EventHandler(SubmenuItem_Click));
(gridcontextMenu.Items[1] as ToolStripMenuItem).DropDownItems.Add("Elephant", image_source, new EventHandler(SubmenuItem_Click));
Dans le SubmenuItem_Click gestionnaire d'événement j'ai besoin de savoir quel est l'animal qui sous-menu est cliqué.
Comment faire ?
actuellement, j'ai le code pour le gestionnaire d'événement de la manière suivante :
private void SubmenuItem_Click(object sender, EventArgs e)
{
}
Comment vérifier l'état de cet événement que l'animal sous-menu a été sélectionné ?
Veuillez partager la réponse.
OriginalL'auteur Vikas Kunte | 2012-11-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire quelque chose comme ceci:
Cette réponse est utile, Merci Tigran
vous êtes les bienvenus
smart,ddnt penser à la conversion. totalement fonctionné
OriginalL'auteur Tigran
Vous pouvez utiliser
Tag
à cette fin dans le cas où vous devriez localiser votre application.En outre
Tag
est un objet de sorte que vous pouvez mettre n'importe quel tapy de données. Par exempleEnum
type.OriginalL'auteur Denis Kucherov
Comme je l'ai constaté qu'aucune des autres réponses ont travaillé ici, je suis allé creuser et trouvé la bonne solution. Cela peut avoir été le seul applicable .NET Framework 4+, mais voici ce que j'ai trouvé de travail.
Essentiellement, le
ItemClicked
événement dans leContextMenuStrip
contrôle passe lui-même en tant qu'expéditeur et unToolStripItemClickedEventArgs
objet lorsque l'événement est déclenché. Comme vous ne pouvez pas obtenir l'cliqué élément de la ContextMenuStrip lui-même, la seule façon d'obtenir cette information est de s'interroger sur leToolStripItemClickedEventArgs
objet et l'cliqué élément réside là comme uneToolStripItem
objet. Cela peut ensuite être utilisé pour extraire le nom de l'option à utiliser dans un si/instruction switch selon le cas. Voir ci-dessous:Pour configurer le Gestionnaire d'événements:
Pour gérer l'événement et extraire le texte de l'élément cliqué:
J'espère que cela aide quelqu'un à la recherche pour répondre à cette question à l'avenir 🙂
OriginalL'auteur Fredulom
OriginalL'auteur abubakar