如何识别是否从c#winforms中的listbox控件中选择了多个索引



我正在开发一个应用程序,需要放置字段在前端就像take复选框一样。如果用户在复选框上选择了特定的字段,那么根据选择,我将从sql数据库生成水晶报告。

所以最多10个字段复选框就足够了。但是字段增加到30,并且表单上的复选框计数也增加了

所以我决定采用列表框。但在列表框中如何识别从用户中选择了多个项目?

在列表框中,我已将SelectionMode属性设置为MultiSimple

但如果我选择了两个或多个项目,listbox只会获取第一个项目的索引。

代码:

if(listbox1.SelectedIndex==0)
{
 //my code for first field.
}
if(listbox1.SelectedIndex==1)
{
 //my code for second field.
}

注意:我编写了一个基于用户的动态sql查询方法所选项目。因此,在我的方法createSQLquery()中,我想识别索引。

我想确定用户从前端选择了哪些项目,并在此基础上继续编写代码。

感谢

有三种方法可以找到
1)

  foreach (object item in listbox.SelectedItems)
    {
        // do domething
    }

2)

 for (int i = 0; i < ListBox1.Items.Count; i++)
  {
     if (ListBox1.Items[i].Selected)
       {
           // do domething
        }
   }

3)

var selected = ListBox1.GetSelectedIndices().ToList();
var selectedValues = (from c in selected
                      select ListBox1.Items[c].Value).ToList();

您可以使用ListBox.SelectedIndices属性来获取多个选定项目的索引。

获取一个集合,该集合包含所有列表框中当前选定的项目。

最新更新