2008-09-08 12 views
0

Ich habe ein ContextMenu, das angezeigt wird, nachdem ein Benutzer mit der rechten Maustaste auf eine ComboBox geklickt hat. Wenn der Benutzer ein Element im Kontextmenü auswählt, wird ein Formular mithilfe der Methode ShowDialog() aufgerufen.Kontextmenü Zurücksetzen von ComboBox SelectedIndex

Wenn dieses Formular geschlossen ist, aktualisiere ich alle Daten in den ComboBoxen auf dem übergeordneten Formular. Wenn dies jedoch geschieht, wird die ComboBox, die das ContextMenu geöffnet hat, auf einen ausgewählten Index von -1 zurückgesetzt, aber die anderen ausgewählten Indizes der anderen ComboBoxen bleiben gleich.

Wie kann ich verhindern, dass die ComboBox, die das Kontextmenü geöffnet hat, zurückgesetzt wird?

Antwort

1

Eine Möglichkeit, dies zu umgehen, wäre, das Popup-Ereignis des Kontextmenüs zu verwenden, um den ausgewählten Index der Combobox abzurufen, der das Menü startet. Wenn das Dialogfeld geschlossen wird, setzen Sie den ausgewählten Index zurück.

0

Ich habe es herausgefunden.

Ich habe eine Methode erstellt, die die ContextMenu.SourceControl() -Eigenschaft durch Verweis übergeben, damit ich das Steuerelement manipulieren konnte, das ContextMenu aufgerufen. Am Anfang der Methode habe ich die SelectedValue der ComboBox bekommen und die Daten in den ComboBoxen neu geladen. Ich setzte dann den SelectedValue auf den Wert, den ich am Anfang der Methode erhalten hatte.

Vielen Dank DaveK für mich in die richtige Richtung.

Verwandte Themen