Выбрать несколько элементов в ListBox программно? - PullRequest
2 голосов
/ 19 мая 2019

Я пытаюсь выбрать элементы ListBox через C #.Я не могу выбрать несколько элементов, он всегда выбирает последнее значение в списке выбранных элементов.

Я попытался перебрать все 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;
     }
  }

Мне нужно выбрать несколько элементов, а не только последнее выбранное значение.Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 19 мая 2019

Вместо установки свойства SelectedIndex попробуйте добавить элементы с listbox.SetSelected с listbox.SetSelected(x,true);

0 голосов
/ 19 мая 2019

Вы можете использовать это:

LblDisplay.Text = "";
lstPromote_products.SetItemChecked(4, true);
chkRestricted.Checked = true;
...