Ciao,
allora partiamo da una Form con una ListBox sopra chiamata listBox1 e con abilitata la selezione multipla.
Mi sono creato una classe per simulare i record di un dataset:
public class Elemento
{
public string Name { get; set; }
public string ID { get; set; }
public Elemento(string name,string id)
{
this.Name = name;
this.ID = id;
}
}
al Load della Form popolo la listbox con degli elementi:
private void Form1_Load(object sender, EventArgs e)
{
List<Elemento> t = new List<Elemento>();
t.Add(new Elemento("David", "1"));
t.Add(new Elemento("Paolo", "2"));
t.Add(new Elemento("Mario", "3"));
listBox1.DisplayMember = "Name";
listBox1.ValueMember = "ID";
listBox1.DataSource = t;
}
Con un Button elenco gli elementi selezionati:
for (int i = 0; i < listBox1.SelectedItems.Count; i++)
{
Elemento temp = (Elemento)listBox1.SelectedItems[i];
Console.WriteLine(String.Format("Name: {0} ID: {1}", temp.Name, temp.ID));
}
L'output sarà analogo al seguente:
Name: David ID: 1
Name: Paolo ID: 2
Name: Mario ID: 3
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/