c# - 以编程方式选择 ListBox 中的多个项目?

标签 c# asp.net listbox multi-select

我正在尝试通过 C# 选择 ListBox 项目。我无法选择多个项目,它总是选择我所选项目列表中的最后一个值。

我尝试遍历每个 ListBoxItem 并检查它是否存在于我选择的项目列表中。

 List<int> SelectedItems = new List<int>();
 SqlCommand cmd = new SqlCommand(Query, con)
 con.Open();
 SqlDataReader dr = cmd.ExecuteReader();
 while (dr.Read()) {
   SelectedItems.Add(Convert.ToInt32(dr["RecordId"].ToString()));
 }
 for (int i = 0; i < listbox.Items.Count; i++) {
     int x = Convert.ToInt32(listbox.Items[i].Value.ToString());
     if(SelectedItems.Contains(x)){
     listbox.SelectionMode = listbox.Multiple;
     listbox.SelectedIndex = i;
     }
  }

我需要选择多个项目,而不仅仅是最后选择的值。我做错了什么?

最佳答案

不要设置 SelectedIndex 属性,而是尝试使用 listbox.SetSelected 添加项目和 listbox.SetSelected(x,true);

关于c# - 以编程方式选择 ListBox 中的多个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56207322/

相关文章:

c# - 字符串连接是在内存中为链中的每个字符串分配新字符串,还是仅为被更改的字符串分配新字符串?

c# - 远程属性验证未在 Asp.Net MVC 中触发

Wpf如何打印列表框

c# - 将具有配置文件的网站转换为 Web 应用程序项目

javascript - 循环遍历列表框并添加到 JavaScript 中的文本框

c# - 将 ObservableCollection 绑定(bind)到 ListBox ItemsSource

c# - C# 中服务器客户端应用程序的 UDP 数据报代码

c# - C# 类名中允许使用哪些字符?

asp.net - 集成 Windows 身份验证

c# - 通过 Jquery Ajax 调用的 WebMethod 正在执行 301 重定向