Comobox event SelectedValueChanged
ich habe einfache Frage kann jemand gebeten, es vor mir, aber ich konnte Sie nicht finden.Lassen Sie uns sagen, ich habe datatable, hat einige Daten aus der Datenbank und ich möchte es zu binden, um eine combobox verwende ich standart code wie folgt
comboBox1.BeginUpdate( );
comboBox1.ValueMember = "id";
comboBox1.DisplayMember = "name";
comboBox1.DataSource = dt;
comboBox1.EndUpdate( );
Das problem ist bei dieser Bindung die Veranstaltung SelectedValueChanged
ausgelöst wird.Das problem ist, dass rebind-combo mehrmals, wenn outher Werte ändern und jedes mal muss ich tun sometihn wie diese
comboBox1.SelectedIndexChanged -= new System.EventHandler( this.comboBox1_SelectedValueChanged );
meine Frage ist es ein intelligenter Weg zu überspringen, das Ereignis, wenn ich habe, kommt von databinding nicht aus den Benutzereingaben.Das problem ist, dass ich will, es zu tun, wie einige globaly in meiner Kontrolle, dass inherits combobox und nicht, um es zu tun jedes mal, in jedem von
Beste Grüße,
Iordand
- Sie können anderer Meinung : u kann eine Globale variable auf false gesetzt und in diesem Fall, überprüfen Sie es auf und nach u füllen Sie alle bindet, setzen Sie ihn auf true
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, mit den SelectionChangeCommitted Veranstaltung.
Aus der MSDN-Dokumentation:
Habe ich immer so getan als Weltraum-Pirat sagte. Erstelle ich eine Globale boolean-variable mit dem Namen _isLoading und setzen Sie ihn auf true, wenn beim laden meiner combobox, dann wieder auf false, wenn es fertig ist. Dann im event-handler die erste Zeile ist