2017-10-15 3 views
-1

Ich habe ein bizarres Verhalten bei dem Versuch, ein Kontextmenü in einem DataGridView zu implementieren, das in einem modalen Dialog lebt (benutzerdefiniertes WinForm, das mit der Methode .ShowDialog() angezeigt wird).ContextMenuStrip ist in einem modalen Formular deaktiviert

Wenn ich das Kontextmenü zum DataGridView hinzufüge (mit der entsprechenden Eigenschaft), kann ich im Designer Elemente bearbeiten, Ereignisse zuweisen und alles, was Sie sonst erwarten.

Wenn ich mein Formular starte, ist das Kontextmenü deaktiviert. Es erscheint, wenn Sie mit der rechten Maustaste klicken, aber keine Eingaben und zeigt nicht die Maus Hover-Farben. Nach einiger Versuch und Irrtum, fand ich, dass dies nur der Fall ist, wenn ich das Formular als modales Dialogfeld anzeigen mit .ShowDialog() und nicht .Show().

Ich habe keine Ahnung, warum dies das erwartete Verhalten wäre; hat sonst noch jemand das schon einmal gesehen? Wenn ja, kannst du erklären, warum das so funktioniert? Und gibt es einen Workaround, mit dem ich ContextMenuStrips für modale Dialoge verwenden kann?

Antwort

0

War nichts, was ich erwartet hatte. Beim Start des modalen Formulars hatte ich die Sichtbarkeit des Kontextmenüs in "true" geändert ... Ich wollte das mit einem anderen Steuerelement tun. Aus irgendeinem Grund war das die Ursache des Problems.

Verwandte Themen