我有一个TextBox, 情况是当用户将其留空时,OK按钮被禁用。如果用户根据天数键入持续时间值,则会启用该按钮。
问题是:假设用户点击文本框,键入:100,他意识到他犯了一个错误,他删除了该值并试图开始填写其他一些文本框然后再回来,在此当用户点击表单的其他部分时,该值自动为0并且Ok按钮为Enabled Now。
我该如何避免这种情况?
Private Sub txtMembershipDuration_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtMembershipDuration.TextChanged
If txtMembershipDuration.Text = "" Then
btnOK.Enabled = False
End If End Sub
另外,如何控制自动0?
答案 0 :(得分:1)
在支票上使用TryParse
,并确保它大于0,而不是检查它是否为“”。
Link: TryParse
答案 1 :(得分:0)
如果它不是有效值,您可以检查“0”
Private Sub txtMembershipDuration_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles txtMembershipDuration.TextChanged
If txtMembershipDuration.Text = "" OrElse
txtMembershipDuration.Text = "0" Then
btnOK.Enabled = False
End If
End Sub