2009-02-04 2 views
1

Если вы еще не прочитали проблему first, сделайте это так, чтобы догнать скорость. Итак, как мне очистить эти флажки? Я попытался использовать тот же подход, который @colithium сказал мне использовать для проверки состояния всех флажков, но когда я запустил программу и щелкнул ее, я получил следующую ошибку времени выполнения:Программирование Тестер навыков (проблема) v2.0

Невозможно лить объект типа ' System.Windows.Forms.Button ', чтобы напечатать «System.Windows.Forms.CheckBox».

ответ

1

Я предполагаю, что ваш метод выглядит примерно так:

private void clearButton_Click(object sender, EventArgs e) 
{ 
    CheckBox cb = (CheckBox)sender; 
    cb.Checked = false; 
} 

В этом случае, «Отправитель» кнопка ясно, не флажок. Заимствуя ответа Stormenet в:

private void clearButton_click(object sender, EventArgs e) 
{  
    foreach (Control c in this.Controls) 
    { 
     CheckBox cb = c as CheckBox; 
     if (cb != null) 
     { 
      cb.Checked = false; 
     } 
    } 
} 

1

Установить CheckBox.Checked на false. Если это не то, что вам нужно, предоставьте дополнительную информацию в вопросе.

6

Я предполагаю, что вы используете foreach по всем вашим элементам управления и забыли посмотреть, действительно ли элемент управления является флажком.

foreach (Control c in this.Controls) { 
    CheckBox cb = c as CheckBox; 
    if (cb!=null) { 
     //do your logic 
    } 
} 
Смежные вопросы