Пользовательский флажок комбинированного окна - PullRequest
0 голосов
/ 20 января 2011

У меня есть пользовательский флажок комбинированного списка.Я взял его из http://www.codeproject.com/KB/combobox/extending_combobox.aspx

Раскрывающийся список состоит из 5 пунктов, а именно: A, B, C, D, All.

Что я хочу сделать, это когда пользователь проверяет всеснимите флажки A, B, C, D. и когда пользователь выберет, A, B, C, D снимите флажок All.

Я не могу понять, какую логику мне следует ввести.Я пробовал это:

int index = ComboCheck.FindString(@"All");

foreach (var x in tComboCheck.CheckBoxItems.Where(y => y.Checked))
 {
  if(x.Text.StartsWith("A"))
    {
     ComboCheck.CheckBoxItems[index].Checked = false;
    }
  if(x.Text == @"All")
    {
     x.Checked = true;
    }
 }

Это не работает.Я использую этот код в событии Checked Changed.Пожалуйста, помогите

1 Ответ

0 голосов
/ 20 января 2011

Чем проще, тем лучше.

  • Выясните, что пользователь только что сделал (проверил «Все» или проверил что-то еще)
  • Если пользователь выбрал «Все»
    • Для каждого другого элемента снимите флажок
  • Если пользователь проверил что-то еще
    • Снимите флажок "Все"

Игнорировать, когда пользователь снимает отметку с элемента.

Не пытайтесь свести их в один цикл, это просто запутывает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...