Як перевірити пункт CheckListBox одним клацанням миші?


79

Я кодую програму Windows Formsна C # і використовую CheckListBoxControl.

Як перевірити пункт CheckListBox одним клацанням миші?

Відповіді:


175

Я думаю, що ви шукаєте

CheckOnClick нерухомість

встановіть його на true

Отримує або встановлює значення, що вказує, чи слід перемикати прапорець, коли вибрано елемент.


2
Ви можете знайти це у вікні властивостей елемента керування checkbox.
rahul

8

Встановіть властивість у час проектування таким чином

введіть тут опис зображення

або за кодом:

CheckedListBox.CheckOnClick = true;

3

Я щойно закінчив роботу над проблемою, коли для дизайнера встановив для CheckOnClick значення True, але для перевірки елементів користувацький інтерфейс все ще вимагав другого клацання. Я виявив, що з якихось причин файл дизайнера не оновлювався, коли я змінив значення. Щоб вирішити цю проблему, я зайшов у файл дизайнера та додав рядок

this.Product_Group_CheckedListBox.CheckOnClick = true;

Після цього це спрацювало, як очікувалося. Не впевнений, чому дизайнер не оновив, але, можливо, це обхідне рішення комусь допоможе.


1

Ви також можете перевірити все натисканням кнопки або клацанням контрольного списку

private void checkedListBox1_Click(object sender, EventArgs e)
{

    for (int i = 0; i < checkedListBox1.Items.Count; i++)
        checkedListBox1.SetItemChecked(i, true);

}

Як ви можете це зробити, використовуючи вираз foreach?
Брайан

@Bryan спробуйте це, і тіло циклу додає об'єкт до контрольного списку foreach (Елемент об'єкта в checkedListBox1.CheckedItems)
Adiii,

Слід уникати використання команди count у циклі. Як зазначено в назві команди. Відлік використовує час для підрахунку елемента у списку на кожній ітерації циклу. Якщо список підтримує лише підрахунок, використовуйте: int totalitems = checkedListBox1.Count; Потім використовуйте змінну в циклі for.
nivs1978

1

Ви також можете використовувати прапорець із зовнішньої сторони 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;
    }
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.