2015-09-22 4 views
0

У меня есть раскрывающийся список со списком, содержащий несколько вариантов для пользователя. У меня также есть флажок, который позволяет пользователю использовать значение по умолчанию (также в раскрывающемся списке). Когда пользователь проверяет флажок, я хочу, чтобы поле со списком отключилось.Как отключить/включить поле со списком, используя флажок в VB.NET?

Мой код должен работать в теории, но это не так.

Private Sub chkboxUseDefault_Click(sender As Object, e As System.EventArgs) Handles chkboxUseDefault.Click 
    If chkboxUseDefault.CheckState.Equals(1) Then 
     cmbSelectOptions.Enabled = False 
    Else 
     cmbSelectOptions.Enabled = True 

    End If 

Может кто-нибудь указать, что моя (потенциально очевидная) ошибка?

ответ

0

Ты проблема с: If chkboxUseDefault.CheckState.Equals(1) Then

Вы код будет иметь желаемый результат, если вы измените эту строку:

If chkboxUseDefault.CheckState = CheckState.Checked Then 

Или, возможно, даже более лаконично:

If chkboxUseDefault.Checked Then 

Хотя, я склонен также согласиться с OneFineDay тем, что я нашел chkboxUseDefault.CheckedChanged более подходящее событие для этого начинания, и его предлагаемый код более читабельный ИМО, я чувствовал, что вам может понравиться знать, как сделать как маленькое как можно скорее, и добиться желаемого результата.

0

Позволяет упростить проверку:

Private Sub chkboxUseDefault_CheckedChanged(sender As Object, e As System.EventArgs) Handles chkboxUseDefault.CheckedChanged 
    cmbSelectOptions.Enabled = Not chkboxUseDefault.Checked 
End Sub 
+0

Нет, все еще не работает. – Alex

+0

Вы видели событие, которое я использую? Мне нравится это лучше, чем событие click для этого элемента управления. – OneFineDay

+0

Определить, не работает. Вы отлаживали его? Что он показывает для значений? – OneFineDay

0
Private Sub chkboxUseDefault_CheckedChanged(sender As Object, e As EventArgs) Handles chkboxUseDefault.CheckedChanged 
    If chkboxUseDefault.Checked = True Then 
     cmbSelectOptions.Enabled = False 
    Else 
     cmbSelectOptions.Enabled = True 
    End If 
End Sub 

Это позволяет и отключает выпадающие списки.

Смежные вопросы