Отмена выбора значения флажка
У меня есть checklistbox
что имеет такие значения, как Value 1, Value 2, Value 3
, Если пользователь проверяет "Значение 1", то Label1
изменит свое имя на "Значение 1" и TextBox1
будет включен. Однако я не знаю, как проверить, было ли выбранное значение отменено. Если пользователь отменяет выбор значения, то Label1
изменится со значения "1" на "Label1" и TextBox1
будет отключен. Как мне этого добиться?
2 ответа
Решение
Подписаться на событие ItemCheck
оно поднимается, когда элемент отмечен / не отмечен:
private void CheckedListBoxItemCheck(object sender, ItemCheckEventArgs e)
{
var value = checkedListBox1.Items[e.Index].ToString();
if (value == "Value 1" && e.NewValue == CheckState.Checked)
{
Label1.Text = "Value 1";
Textbox1.Enabled = true;
}
else
{
//disable
Label1.Text = "Label 1";
Textbox1.Enabled = false;
}
}
Вы можете добавить пользовательский код в ItemCheck
обработчик события:
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
MessageBox.Show(e.NewValue.ToString());
}