Evtl. kann mir jemand von euch weiterhelfen. Ich habe folgendes „Problem oder Frage“ und zwar:
Wenn ich folgenden Code ausführe, manchmal läuft dieser ohne grosse Probleme durch. D.h. er hat keine grosse Wartezeit. Nun kommt es vor, wenn ich in den objectTypes nur einen Wert habe, und diesen dann, in der foreach Schlaufe dem windowObjectTypeFilter hinzufüge, habe ich gesamthaft 2 Items im windowObjectTypeFilter. Nun jedoch dauert die Zuweisung des SelectedIndex ca. 4-5 Sekunden. Aber nur wenn ich folgende Code Zeile aufführe:
this.windowsObjectTypeFilter.SelectedIndex = 0;
Hier noch die gesamte Methode:
public void LoadObjectTypeList() { if (NativeElementObjectListInstance.NativeTestObjectCollection != null) { var objectTypes = (from objectType in NativeElementObjectListInstance.NativeTestObjectCollection select objectType.Role).Distinct(); this.windowsObjectTypeFilter.Items.Clear(); this.windowsObjectTypeFilter.Items.Add("All"); foreach (string objectType in objectTypes) { this.windowsObjectTypeFilter.Items.Add(objectType); } this.windowsObjectTypeFilter.SelectedIndex = 0; } }
Bei objectTypes handelt es sich um String Werte wie (Textfield, Button, Checkbox, usw.) Bei windowsObjectTypeFilter handelt es sich um ein ToolStripComboBox welcher ich die Werte hinzufüge.
Weiss jemand von euch, wieso dies so lange dauert? Also ich komme nicht dahinter.
Danke für die Tipps! Konnte den Fehler nun eingrenzen und beheben. Das Problem war, dass durch das setzen des SelectedIndexs, ein Event ausgelöst wurde, in welchem ich zwei Methoden ausführte. Jedoch habe ich in der zweiten Methode, nochmals die erste aus dem Event aufgerufen.