检查蒙面文本框是否为空或不是VB.NET

时间:2013-01-09 11:09:43

标签: vb.net maskedtextbox

我的表单中有蒙面文本框。一个用于工资,PF& ESI和其他用于电话号码。我尝试使用以下代码检查Masked Text Box是否为空。

Dim mtxt As Control
Dim flag3 As Boolean
flag3 = False
For Each mtxt In EMPGBDATA.Controls
    If TypeOf mtxt Is MaskedTextBox  Then
        If mtxt.Text = "" Then
            mtxt.BackColor = Color.Red
            flag3 = True
        End If
    End If
Next 

只有我的工资,PF& ESI蒙面文本框显示为红色,但电话号码蒙面文本框不显示红色。

1 个答案:

答案 0 :(得分:3)

我认为您有以下情况:(可能由房产设计师定义)

 maskedTextBoxPhoneNumber.Mask = "000000 00000"  'Or something similar'
 maskedTextBoxPhoneNumber.TextMaskFormat = MaskFormat.IncludeLiterals 

在这种情况下你的测试

 if mtxt.Text = "" then 

将失败,因为mask属性中包含的文字在属性Text

中返回

您应该将属性TextMaskFormat更改为

 maskedTextBoxPhoneNumber.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals

See MSDN for MaskFormat Enumeration