Wenn ich 10 000 Elemente in einer Combobox anzeigen möchte (nur ein Beispiel), ist das Laden einer Liste von der Festplatte schnell, aber wenn ich die DataSource einstelle, ist es langsam. Gibt es eine Möglichkeit, nur auf die Daten zu zeigen und sie nicht in die Combobox-Sammlung zu konvertieren.Warum alle verschiedenen Sammlungen in Winforms?
List<string> myitems = getItems();
ComboBox box = new ComboBox();
box.DataSource = myitems; // <--- Takes a long time
von Delphi kommend, wo alles ein String ich all die verschiedenen Sammlungen ein bisschen komisch finden, warum sie nicht nur List<T>
verwenden oder eine andere Klasse nicht so eng mit der Steuerung gekoppelt?
In Delphi:
textbox.lines = myitems
listbox.items = myitems
combobox.items = myitems
alle setzt nur einen Zeiger auf die gleichen Daten, dh Augenblick.