1

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

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 蒙面文本框以红色显示,但电话号码蒙面文本框不显示红色。

4

1 回答 1

3

我认为你有以下情况:(可能是物业设计师定义的)

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

在这种情况下,您的测试

 if mtxt.Text = "" then 

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

您应该将属性更改TextMaskFormat

 maskedTextBoxPhoneNumber.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals

有关 MaskFormat 枚举,请参阅 MSDN

于 2013-01-09T11:27:37.647 回答