2010-12-01 1 views
27

aufzufüllen Wenn ich eine Liste von Strings haben, zum Beispiel:C#: einfachste Weg, eine ListBox aus einer Liste

List<string> MyList = new List<string>(); 
MyList.Add("HELLO"); 
MyList.Add("WORLD"); 

Gibt es einen einfachen Weg, um eine List-Box mit dem Inhalt von MyList zu füllen?

+0

WPF oder Winforms? –

+0

Dies ist für Winforms. –

+0

@Zach: Ich würde nicht denken, dass es wichtig sein sollte. – IAbstract

Antwort

53

Versuchen

 List<string> MyList = new List<string>(); 
     MyList.Add("HELLO"); 
     MyList.Add("WORLD"); 

     listBox1.DataSource = MyList; 

einen Blick auf ListControl.DataSource Property

+1

Benötigen Sie den Aufruf von DataBind()? –

+0

^^ Ignorieren Sie es .. Ich dachte, es ist die Web-Kontrolle. – Dienekes

+0

wenn Updates nicht funktionieren (mehrere Aufrufe). das funktioniert (getestet): listBox1.DataSource = null; listBox1.DataSource = MeineListe; –

7

das ist, was Sie suchen:

myListBox.DataSource = MyList; 
19

Sie können auch die AddRange Methode verwenden

listBox1.Items.AddRange(myList.ToArray()); 
+0

+1 Ja, das funktioniert seltsam, dass man eine Liste in ein Array konvertieren muss, um es zu einer Liste hinzuzufügen! – barlop

0

Dies könnte auch der einfachste Weg sein, Elemente in ListBox hinzuzufügen.

for (int i = 0; i < MyList.Count; i++) 
{ 
     listBox1.Items.Add(MyList.ElementAt(i)); 
} 

Weitere Improvisation dieses Codes kann Elemente zur Laufzeit hinzufügen.