2009-02-27 5 views
0

J'ai essayé de savoir comment lier les données à un contrôle
System.Windows.Forms.DomainUpDown().
Meilleure façon de lier la liste générique au contrôle DomainUpDown (contrôle de rotation de texte)

Actuellement je suis venu seulement avec:

 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; 
     } 

Répondre

1

La collection DomainUpDown.Items a une méthode AddRange() qui prend un ICollection (mis en œuvre par List<T>), vous pouvez donc faire

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

Cependant , si vous avez autant d'éléments à montrer, je vous suggère d'utiliser un ComboBox ayant DropDownStyle mis à DropDownList. Il vous permettra de vous connecter directement à la liste (par exemple, comboBox1.DataSource = list;), surtout si la liste change souvent, car vous n'aurez pas à remplir la ComboBox à chaque fois, changez simplement la source de données ...

Questions connexes