C# 从C windows窗体中的列表框中获取多个值
我有一个列表框,它从sql表中提取数据。我将其选择模式设置为multisimple 我将每个项目的显示成员设置为sql表中的名称字段,将每个项目的值成员设置为sql表中的ID字段 当我从列表中选择多个项目时,如何获取多个值?我可以使用listboxname.text获取一个项目的文本,但我不知道如何一次获取所有已选择的值 任何帮助都将不胜感激。使用SelectedItems属性,以下内容将获得代表所选项目的列表:C# 从C windows窗体中的列表框中获取多个值,c#,sql,winforms,C#,Sql,Winforms,我有一个列表框,它从sql表中提取数据。我将其选择模式设置为multisimple 我将每个项目的显示成员设置为sql表中的名称字段,将每个项目的值成员设置为sql表中的ID字段 当我从列表中选择多个项目时,如何获取多个值?我可以使用listboxname.text获取一个项目的文本,但我不知道如何一次获取所有已选择的值 任何帮助都将不胜感激。使用SelectedItems属性,以下内容将获得代表所选项目的列表: var items = listBox1.SelectedItems.Cast&l
var items = listBox1.SelectedItems.Cast<object>()
.Select(x=>Convert.ToString(x)).ToList();
如果基础项类型只是一个具有2个属性Name和ID的普通类,例如call it item,则代码更简单,如下所示:
var ids = listBox1.SelectedItems.Cast<Item>()
.Select(item=>item.ID).ToList();
方法1:可以使用ListBox的SelectedDices属性获取所有选定项的索引值。
然后,对于每个选定的索引,您可以获得该项的值
试试这个:
private void button1_Click(object sender, EventArgs e)
{
List<String> SelectedItems=new List<String>();
foreach (int i in listBox1.SelectedIndices)
{
SelectedItems.Add(listBox1.Items[i].ToString());
}
}
private void button1_Click(object sender, EventArgs e)
{
List<String> SelectedItems=new List<String>();
foreach (String s in listBox1.SelectedItems)
{
SelectedItems.Add(s);
}
}
注意:列表SelectedItems包含列表框中的所有SelectedItems,并链接到SelectedItems的MSDN帮助
private void button1_Click(object sender, EventArgs e)
{
List<String> SelectedItems=new List<String>();
foreach (String s in listBox1.SelectedItems)
{
SelectedItems.Add(s);
}
}