Wie Sie verhindern, dass selectedindexchanged-Ereignis, wenn die Datenquelle gebunden ist?
Habe ich Kombinationsfeld-Steuerelement(Windows forms-Projekt).
Wenn ich binden der DataSource der ComboBox-Steuerelement combobox_selectedindexchanged-Ereignis ausgelöst wird.
Keine Ahnung, wie um zu verhindern, dass selectedindexchanged-Ereignis, wenn die Datenquelle gebunden ist?
Könnte man ein flag setzen, legen Sie die DataSource -, und unset die Flagge? Dann können Sie in Ihrem Ereignis-handler konnte man sehen, das flag gesetzt ist und es einfach nicht Maßnahmen ergreifen, auf Sie.
WinForms oder WPF?
verwenden Sie update-panels
Ich fand die Lösung für meinen Fall hier: stackoverflow.com/a/3268120/10679430
möglich, Duplikat der Stop comboBox das selectedIndexChanged-Ereignis aus feuern, wenn das Formular Lasten
WinForms oder WPF?
verwenden Sie update-panels
Ich fand die Lösung für meinen Fall hier: stackoverflow.com/a/3268120/10679430
möglich, Duplikat der Stop comboBox das selectedIndexChanged-Ereignis aus feuern, wenn das Formular Lasten
InformationsquelleAutor Michael | 2013-01-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entfernen Sie die handler für die SelectedIndex_Changed Ereignis, binden Sie Ihre Daten, fügen Sie dem handler zurück. Folgende ist ein einfaches Beispiel von, wie dieses getan werden könnte, innerhalb einer Methode:
InformationsquelleAutor XIVSolutions
Ich weiß, dies ist eine alte post, und es hat eine akzeptierte Antwort, aber ich denke, wir können SelectionChangeCommitted Ereignis als eine Lösung, um zu vermeiden, das auslösen von Ereignissen während der databind-Methode.
SelectionChangeCommitted event feuert nur, wenn sich die Benutzer ändern Sie die Auswahl in der combobox.
es ist ein ähnliche Frage auf SO und diese Antwort wird zur Verfügung gestellt von @arbiter.
Dieser soll die richtige Antwort meiner Meinung nach. Die obige Antwort funktioniert aber in einer Anwendung, in der Sie hätte mehrere Kombinationsfelder und Datenquellen können Sie sich vorstellen, um sich abzumelden und wieder anmelden zu müssen jedes mal, wenn Sie wollen, um Durcheinander mit der Datenquelle? Danke @shreesha
Dies ist die beste Lösung. Es funktionierte für mich.
InformationsquelleAutor shreesha
Glaube nicht, dass Sie aufhören können, den Fall, aber Sie können nicht damit umgehen.
Trennen Sie die event-handler(s), binden, und befestigen Sie dann event handler(s).
InformationsquelleAutor paparazzo
Verwenden
SelectionChangeCommitted
Event statt 'SelectedIndexChanged'VOM https://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectionchangecommitted.aspx
InformationsquelleAutor Arpit Shrivastava
Hier ist einfach Weg. Sie können mithilfe von Tag-Eigenschaft der combobox.
Es kann leer sein oder 0 integer-Wert, wenn es leer oder nicht erfüllt haben, noch. Sie müssen combobox-Tag als Anzahl der Elemente nach Begrenzungsrahmen.
In SelectedValueChanged-Ereignis aus, wenn die Tag-Eigenschaft ist null oder 0 Sie sind zur Rückgabe von void.
Hier einige Beispiele aus meinem Projekt.
InformationsquelleAutor Rasulbek