2015-10-15 155 views
4

我遇到问题,因为一段时间以来我找不到任何适用于我的解决方案。我有一个ListBox这是充满了DataTable列表框多选选项获取所有选定的值

listbox.DataSource = table; 
listbox.Displaymember = "Name";  
listbox.ValueMember = "ID"; 

如果我现在选择在我的列表框中的项目,我可以把它弄出来,如:

listbox.SelectedValue.toString(); 

我的问题:

什么我可以做,如果我想要从ListBox所有选定的值启用多项选择,并将它们全部保存在一个数组或类似的东西?!

我不能使用SelectedItems因为没有给我需要的信息。

回答

3

试试这个:

var lst = listBox1.SelectedItems.Cast<DataRowView>(); 
foreach (var item in lst) 
{ 
    MessageBox.Show(item.Row[0].ToString());// Or Row[1]... 
} 
+0

太棒了!非常感谢你 –

1

或者,如果你想只遍历选定的项目,你可以使用SelectedIndices属性:

foreach (int i in listbox.SelectedIndices) 
{ 
    // listbox.Items[i].ToString() ... 
} 

或者:

foreach (var item in listbox.SelectedItems) 
{ 
    MessageBox.Show(item.ToString()); 
} 
+0

为了您的第一选择它告诉我。选中 '对象'不包含'selected'的定义 第二个选项它告诉我类似下.GetSelectedIndices() –

+0

我编辑了我的答案。 – C1sc0

相关问题