Снятие флажков в VB.NET - PullRequest
       34

Снятие флажков в VB.NET

0 голосов
/ 18 марта 2011

Я делаю задание для Uni, и в моей форме VB.NET у меня есть несколько флажков, я пытаюсь просмотреть их и очистить (у меня есть кнопка, которая очистит форму)

Моя проблема в том, что, кажется, нет свойства, которое я мог бы использовать, чтобы установить состояние флажка, когда явно не указывал VB, какой флажок я хочу использовать.например, я могу пойти

WineCheckBox.Checked = False

. Это отметит флажок, но я немного подсушиваю код, и не нужно повторять это для каждого установленного флажка, это то, что я пыталсясделать:

If TypeOf element Is CheckBox Then
    element.Checked = False
End If

Я пытался использовать element.CheckState и element.Checked, и оба раза я получаю "Checked (или CheckState) не является членом System.Windows.Forms.Control"

Я просмотрел все атрибуты, которые могу найти для этого, и ни один из них не кажется мне полезным ...

Я что-то упустил?или это просто невозможно сделать

Спасибо

РЕДАКТИРОВАТЬ:

это целый блок кода:

'clear the controls
    For Each element As Control In Me.Controls
        If TypeOf element Is TextBox Then
            element.Text = ""
        End If
        If TypeOf element Is CheckBox Then
            element.Checked = False
        End If
    Next

Ответы [ 2 ]

8 голосов
/ 18 марта 2011

Какой тип вы объявили element как?Если это просто Control, то это базовый тип для CheckBox, у которого нет свойства selected.Может быть, попробуйте:

If TypeOf element Is CheckBox Then
    DirectCast(element,CheckBox).checked = False
End If
2 голосов
/ 15 апреля 2011

Как насчет:

   For Each element As Control In Me.Controls
        If TypeOf element Is TextBox Then
            element.Text = ""
        End If
        If TypeOf element Is CheckBox Then
            Dim chk As CheckBox = CType(element, CheckBox)
            chk.Checked = False
        End If
    Next
...