Moin, ich habe heute was festgestellt was mich verwirrt.
Ich mach mal ein beispiel:
wir machen ein neues formular und fügen eine combobox ein, in der wir paar werte reinschreiben.
danach kopieren wir sie. jetzt haben wir 2 gleiche comboboxes mit verscheidenen namen.
wenn ich jetzt in den comboboxen jeweils selectedindexchanged eventhandler hinzufüge, und ihm die anweisung gebe, in der jeweils anderen combobox den gleichen index auszuwähhlen funktioniert das wunderbar!
aber wieso? weil ich änder ja den index der anderen, also müsste da auch das selectedindexchanged event ausgelöst werden, und dann wieder in der anderen und so weiter.... es ist jetzt egal ob combobox, oder einfach nur textbox wo man nen text ändert und onchange event hat.
ich bin darauf gekommenm, weil ich etwas ähnliches mit einem custom steuerelement mache, aber da renne ich (logischerweise) in eine endlosschleife.
weiss einer warum das so ist?
Die System.Windows-Controls sind sauber programmiert. 😉
So ähnlich dürfte die SelectedIndex-Eigenschaft aussehen. D.h. das SelectedIndexChanged-Ereignis wird nur ausgelöst, wenn sich der Wert auch wirklich geändert hat:
public int SelectedIndex {
get { return selectedIndex; }
set {
if(selectedIndex != value) {
selectedIndex = value;
OnSelectedIndexChanged(EventArgs.Empty);
}
}
}
Gruss
Pulpapex