如何识别在c#winforms中是否从listbox控件中选择了多个索引?
我正在开发一个应用程序,我有一个放置字段的要求 在前端就像拿复选框一样。如果用户在复选框中选择了特定字段,那么根据选择,我将从sql数据库生成crystal report 所以最多10个字段复选框就足够了。但是字段增加到30个,并且表单上的复选框计数也增加了 所以我决定用listbox。但在列表框中如何识别 是否从用户中选择了多个项目 在列表框中,我将如何识别在c#winforms中是否从listbox控件中选择了多个索引?,c#,winforms,crystal-reports,listbox,C#,Winforms,Crystal Reports,Listbox,我正在开发一个应用程序,我有一个放置字段的要求 在前端就像拿复选框一样。如果用户在复选框中选择了特定字段,那么根据选择,我将从sql数据库生成crystal report 所以最多10个字段复选框就足够了。但是字段增加到30个,并且表单上的复选框计数也增加了 所以我决定用listbox。但在列表框中如何识别 是否从用户中选择了多个项目 在列表框中,我将SelectionMode属性设置为MultiSimple 但是,如果我选择两个或多个项目,listbox只获取第一个项目的索引 代码: if(l
SelectionMode
属性设置为MultiSimple
但是,如果我选择两个或多个项目,listbox只获取第一个项目的索引
代码:
if(listbox1.SelectedIndex==0)
{
//my code for first field.
}
if(listbox1.SelectedIndex==1)
{
//my code for second field.
}
注意:我编写了一个基于用户的动态sql查询方法
选定的项目。因此,在我的方法createSQLquery()
中,我想识别
索引
我想确定用户从前端选择了哪些项目,并以此为基础继续编写代码
谢谢您可以通过三种方式找到
(一) (二) 可以使用该属性获取多个选定项的索引 获取一个集合,该集合包含所有 列表框中当前选定的项目
感谢第一种方法帮助了我@Jersure,没问题,很高兴能帮上忙。
foreach (object item in listbox.SelectedItems)
{
// do domething
}
for (int i = 0; i < ListBox1.Items.Count; i++)
{
if (ListBox1.Items[i].Selected)
{
// do domething
}
}
var selected = ListBox1.GetSelectedIndices().ToList();
var selectedValues = (from c in selected
select ListBox1.Items[c].Value).ToList();