2017-10-15 4 views
-1

J'ai rencontré un comportement bizarre en essayant d'implémenter un menu contextuel sur un DataGridView qui vit dans une boîte de dialogue modale (Winform personnalisé affiché en utilisant la méthode .ShowDialog()). Lorsque j'ajoute le menu contextuel à DataGridView (en utilisant la propriété appropriée), je suis en mesure d'éditer des éléments, d'assigner des événements et tout ce que vous attendez. Lorsque je lance mon formulaire, le menu contextuel est désactivé. Il apparaît lors d'un clic droit, mais ne prend aucune entrée et n'affiche pas les couleurs du survol de la souris. Après quelques essais et erreurs, j'ai trouvé que c'est seulement le cas lorsque je montre le formulaire comme une boîte de dialogue modale en utilisant .ShowDialog() et pas .Show().ContextMenuStrip est désactivé dans un formulaire modal

Je ne sais pas pourquoi ce serait le comportement attendu; quelqu'un d'autre a-t-il déjà rencontré cela? Si oui, pouvez-vous expliquer pourquoi cela fonctionne comme ça? Et existe-t-il une solution de contournement qui me permettra d'utiliser ContextMenuStrips sur les boîtes de dialogue modales ...?

Répondre

0

N'était pas quelque chose comme je m'attendais. Au démarrage du formulaire modal, j'avais changé la visibilité du menu contextuel à true ... Je voulais faire ça à un autre contrôle. Pour une raison quelconque, c'était la source du problème.