Wie verhindert man das Ereignis selectedindexexchange, wenn die DataSource gebunden ist?

9

Ich habe ComboBox-Steuerelement (WinForm-Projekt).

Wenn ich DataSource an das ComboBox-Steuerelement binde, wird das Ereignis combobox_selectedindexxchange ausgelöst.

Haben Sie eine Idee, wie Sie das Ereignis selectedindexchange verhindern können, wenn die DataSource gebunden ist?

    
Michael 01.01.2013, 16:00
quelle

5 Antworten

29

Entfernen Sie den Handler für das SelectedIndex_Changed-Ereignis, binden Sie Ihre Daten und fügen Sie den Handler dann zurück. Es folgt ein einfaches Beispiel, wie dies in einer Methode durchgeführt werden kann:

%Vor%     
XIVSolutions 01.01.2013, 16:43
quelle
10

Ich weiß, das ist ein alter Post und es hat eine akzeptierte Antwort, aber ich denke, wir können SelectionChangeCommitted Event als eine Lösung, um das Auslösen von Ereignissen während einer Datenbank zu vermeiden.

Das SelectionChangeCommitted-Ereignis wird nur ausgelöst, wenn die Benutzer die Auswahl in der Combobox ändern.

Es gibt eine ähnliche Frage auf SO und diese Antwort wird von @arbiter zur Verfügung gestellt.

    
shreesha 30.07.2015 12:02
quelle
2

Glauben Sie nicht, dass Sie das Ereignis stoppen können, aber Sie können nicht damit umgehen.

Trennen Sie die Event-Handler, binden Sie sie und hängen Sie Event-Handler an.

    
paparazzo 01.01.2013 16:14
quelle
1

Verwenden Sie SelectionChangeCommitted Event anstelle von 'SelectedIndexChanged'

  

SelectionChangeCommitted wird nur ausgelöst, wenn der Benutzer die Option ändert   Kombinationsfeldauswahl Verwenden Sie nicht SelectedIndexChanged oder    SelectedValueChanged um Benutzeränderungen zu erfassen, da diese Ereignisse sind   Wird auch ausgelöst, wenn die Auswahl programmgesteuert geändert wird.

FROM Ссылка

    
Arpit Shrivastava 12.08.2016 09:25
quelle
0

Hier ist ein einfacher Weg. Sie können die Tag-Eigenschaft der Combobox verwenden. Es kann leer sein oder 0 Integer-Wert, wenn es leer ist oder noch nicht erfüllt ist. Sie müssen den Tag der Combobox als Anzahl der Elemente nach dem Bound festlegen. Im SelectedValueChanged-Ereignis, wenn die Tag-Eigenschaft null oder 0 ist, müssen Sie von void zurückkehren.

Hier sind einige Beispiele aus meinem Projekt.

%Vor%     
Rasulbek 07.03.2016 09:17
quelle

Tags und Links