Я кодую програму Windows Forms
на C # і використовую CheckListBox
Control.
Як перевірити пункт CheckListBox одним клацанням миші?
Я кодую програму Windows Forms
на C # і використовую CheckListBox
Control.
Як перевірити пункт CheckListBox одним клацанням миші?
Відповіді:
Я думаю, що ви шукаєте
CheckOnClick нерухомість
встановіть його на true
Отримує або встановлює значення, що вказує, чи слід перемикати прапорець, коли вибрано елемент.
Я щойно закінчив роботу над проблемою, коли для дизайнера встановив для CheckOnClick значення True, але для перевірки елементів користувацький інтерфейс все ще вимагав другого клацання. Я виявив, що з якихось причин файл дизайнера не оновлювався, коли я змінив значення. Щоб вирішити цю проблему, я зайшов у файл дизайнера та додав рядок
this.Product_Group_CheckedListBox.CheckOnClick = true;
Після цього це спрацювало, як очікувалося. Не впевнений, чому дизайнер не оновив, але, можливо, це обхідне рішення комусь допоможе.
Ви також можете перевірити все натисканням кнопки або клацанням контрольного списку
private void checkedListBox1_Click(object sender, EventArgs e)
{
for (int i = 0; i < checkedListBox1.Items.Count; i++)
checkedListBox1.SetItemChecked(i, true);
}
Ви також можете використовувати прапорець із зовнішньої сторони CheckListBox, щоб позначити / зняти всі прапорці. У тій же формі додайте прапорець біля CheckedListBox і назвіть його CkCheckAll. Додайте подію Click для CheckBox (яку я віддаю перевагу події CheckChanged). Також поруч із CheckedListBox є кнопка (BtnAdd), яка додасть усі позначені елементи до таблиці бази даних. Він увімкнений лише тоді, коли встановлено принаймні один елемент у CheckedListBox.
private void CkCheckAll_Click(object sender, EventArgs e)
{
CkCheckAll.Text = (CkCheckAll.Checked ? "Uncheck All" : "Check All");
int num = Cklst_List.Items.Count;
if (num > 0)
{
for (int i = 0; i < num; i++)
{
Cklst_List.SetItemChecked(i, CkCheckAll.Checked);
}
}
BtnAdd_Delete.Enabled = (Cklst_List.CheckedItems.Count > 0) ? true : false;
}