2013-01-09 133 views
1

我的表單中有Masked Text Boxes。一個是工資,PF & ESI和其他用於電話號碼。我嘗試檢查屏蔽文本框是否爲空或沒有以下代碼。只有檢查屏蔽文本框是否爲空VB.NET

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

順便說一句,這兩個'mtxt'和'flag3'是真正可怕的名字。請使用有意義的名稱和正確的縮進來使您的代碼可讀。此外,在使用它們之前不要聲明你的變量。 –

回答

3

我認爲你有以下情況:(由酒店設計者可能會定義)

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

在這種情況下,你的

if mtxt.Text = "" then 

測試將失敗,因爲該文本包含在掩碼屬性在房產中歸還Text

您應該將房產TextMaskFormat更改爲

maskedTextBoxPhoneNumber.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals 

See MSDN for MaskFormat Enumeration

+0

thnx Steave ..富文本框怎麼樣..是否有可能以相同的方式? – Thanzeem

+0

RichTextBox實際上是一個不同的控件。多行,RTF文本,塊格式和其他更復雜的屬性。沒有掩碼或TextMaskFormat。所以如果不知道你的意圖,我真的不能提供任何有用的提示。 – Steve

+0

朋友..我的意思是有沒有機會檢查富文本框是空的,如果它的背面顏色顯示紅色與我給出的問題上面給出的相同的代碼。 – Thanzeem