2009-02-27 2 views
0

Ich habe versucht, herauszufinden, wie Sie Daten an eine System.Windows.Forms.DomainUpDown() Steuerung binden.
Bessere Möglichkeit, generische Liste an DomainUpDown-Steuerelement (Text Spin Control) zu binden

Zur Zeit habe ich nur kommen mit:

 private void Init() 
     { 
      List<string> list = new List<string>(); 
      list = get4000Strings(); //4000 items 

      foreach (string item in list) 
      { 
       domainUpDown1.Items.Add(item); 
      } 

     } 

     private List<string> get4000Strings() 
     { 
      List<string> l = new List<string>(); 
      for (int i = 0; i < 4000; i++) 
      { 
       l.Add(i.ToString()); 
      } 
      return l; 
     } 

Antwort

1

Die DomainUpDown.Items Kollektion hat eine AddRange() Methode, die eine ICollection (von List<T> implementiert) hat, so dass Sie nur

private void Init() { 
    List<string> list = new List<string>(); 
    list = get4000Strings(); //4000 items 
    domainUpDown1.Items.Clear(); 
    domainUpDown1.Items.AddRange(list); 
} 

tun könnte jedoch Wenn Sie so viele Artikel zum Anzeigen haben, würde ich vorschlagen, dass Sie einen ComboBox mit DropDownStyleDropDownList verwenden. Es ermöglicht Ihnen, direkt zu der Liste (z. B. comboBox1.DataSource = list;) Datenbind, insbesondere wenn die Liste häufig ändert, wie Sie die ComboBox nicht jedes Mal auffüllen müssen, nur die Datenquelle ändern ...

Verwandte Themen