Отмена выбора значения флажка

У меня есть 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());
}
Другие вопросы по тегам