Как снять флажок с выделенного списка в C# winforms?
В приведенном выше изображении «ug (User Group)» представляет собой строку в проверочном списке с включенным свойством false. Как снять флажок «ug (User Group)» в отключенном состоянии.
Как снять флажок с выделенного списка в C# winforms?
В приведенном выше изображении «ug (User Group)» представляет собой строку в проверочном списке с включенным свойством false. Как снять флажок «ug (User Group)» в отключенном состоянии.
Вы можете легко использовать
checkedListBox1.SetItemChecked(2, false);
или
checkedListBox1.SetItemCheckState(2, CheckState.Unhecked);
Enabled
свойство CheckedListBox
не оказывает никакого влияния на проверки состояния элементов или этих двух методов.
MSDN ссылки:
UPDATE: Отключение одного элемента в CheckedListBox
вместо отключая весь контроль не ПОСС ible из коробки.
Если вы хотите запретить пользователю изменять проверки состояния одного специального пункта, вам необходимо подписаться на ItemCheck
случае CheckedListBox
:
checkedListBox1.ItemCheck += (sender, e) =>
{
if (e.Index == 2)
e.NewValue = CheckState.Unchecked;
}
Это событие обожженного перед тем проверка состояния элемента изменено. e
- ItemCheckEventArgs
, который содержит Index
, его текущее состояние проверки (CurrentValue
) и состояние проверки, которое оно должно иметь после этого (NewValue
).
Таким образом, установка e.NewValue = CheckState.Unchecked
предотвращает повторную проверку элемента пользователем.
Мне нужен флажок с readonly и unchecked, Chekedlistbox.SetItemCheckState (2, CheckState.Indeterminate); но мне нужно удалить чек из флажка –
@rahuls Не понимаю вашу проблему. Это именно то, что показывает код. Используйте 'CheckState.Unchecked' вместо' Indeterminate'. –
CheckState.Unchecked правильный, но мне нужно сделать это как только для чтения. Пользователь не может проверить. –
Вам необходимо снять флажок прагматически? ваше требование недостаточно ясное –
использование chkListBox.SetItemChecked (1, false); – DDave