Программный выбор элементов в списке Winforms - PullRequest
4 голосов
/ 26 октября 2010

Я не могу понять, как программно выбирать элементы в списке флажков.

Этот метод курса не компилируется, но я хочу показать вам, какой результат я хочу получить.

public ColumnsSelector(Dictionary<string, bool> dataPropertyNames)
            : this()
        {
            foreach (var item in dataPropertyNames)
            {
                checkedListBox1.Items.Add(item.Key);
                checkedListBox1.Items[checkedListBox1.Items.IndexOf(item.Key)].Checked = item.Value;
            }
        }

Как вы решаете эту проблему?

Ответы [ 2 ]

6 голосов
/ 26 октября 2010

Использовать CheckedListBox.SetItemCheckState :

checkedListBox.SetItemCheckState(checkedListBox1.Items.Count - 1, CheckedState.Checked);

, который работает для проверенных, непроверенных и неопределенных. Вы также можете использовать CheckedListBox.SetItemChecked :

checkedListBox.SetItemChecked(checkedListBox1.Items.Count - 1, true);
3 голосов
/ 26 октября 2010
 checkedListBox1.Items.Add(item.Key);
 checkedListBox1.SetItemChecked(checkedListBox1.Items.Count - 1, item.Value);

или просто

 checkedListBox1.Items.Add(item.Key, item.Value);
...