Флажок Выбранный индекс выбран

У меня есть простой оператор IF в моем коде, который я хочу запросить у пользователя, если выбран элемент в индексе 2 моего selectedlistbox1.

Он работает, когда выбран сам индекс 2, НО не работает, когда в моем поле контрольного списка отмечены другие элементы, включая индекс 2. Ниже приведено то, что у меня работает, теперь мне просто нужно, чтобы оно работало, когда выбраны 2 и другие.

if (checkedListBox1.SelectedIndex == 2)
{
   MessageBox.Show("Note to send email", "Note", MessageBoxButtons.OK);
}

3 ответа

Решение

Ты можешь использовать CheckedListBox.CheckedIndices вместо.

Коллекция проверенных индексов в этом CheckedListBox.

foreach(int index in checkedListBox1.CheckedIndices)
{
  if(index == 2)
  {
     MessageBox.Show("Note to send email", "Note", MessageBoxButtons.OK);
  }
}

Замените этот код на

if (checkedListBox1.SelectedIndices.Contains(2))
{
   MessageBox.Show("Note to send email", "Note", MessageBoxButtons.OK);
}

Это проверит, если 2 среди всех выбранных пунктов.

Смотрите больше на SelectedIndices собственность на MSDN.

Использование SelectedIndices вместо SelectedIndex, он возвращает коллекцию выбранных индексов. Просто убедитесь, что 2 там

Другие вопросы по тегам