簡體   English   中英

如何檢查Masked文本框是否為空?

[英]How to check if Masked textbox is empty?

我在winform中有幾個文本框和蒙版的texbox,我需要在繼續之前檢查它們是否為空,null或什么都沒有。

我的代碼大部分都按預期工作,如果有一個空的texbox,我會收到一條消息,告訴用戶文本框是空的並退出子文件,但由於某種原因,沒有檢查被屏蔽的文本框。

也許我錯了,它正在檢查它們,但因為它們有掩碼,所以它們不被視為空或空。

您在檢查蒙面texbox是否為空的幫助下將非常感激。

這是代碼:

Private Sub btnCargarInformacion_Click(sender As System.Object, e As System.EventArgs) Handles btnCargar.Click
    For Each myControl As Control In Me.GroupBox1.Controls
        If TypeOf (myControl) Is TextBox Then
            If myControl.Text.Equals(String.Empty) Then
                MessageBox.Show(String.Format("Please Fill the following Textboxes: {0}", String.Join(",", myControl.Name)))
            End If
            If myControl.Text.Equals(String.Empty) Then
                Exit Sub
            End If
        End If
    Next
    Dim PartePersonalTableApt As New PersonalObraDataSetTableAdapters.PartePersonalTableAdapter
    Dim PersonalObTableApt As New PersonalObraDataSetTableAdapters.PersonalObTableAdapter
    PartePersonalTableApt.ClearBeforeFill = True
    PartePersonalTableApt.FillByFecha(PersonalObraDataSet.PartePersonal, txtDate.Text, txtDepartamento.Text, txtTurno.Text)
    PersonalObTableApt.ClearBeforeFill = True
    PersonalObTableApt.Fillby(PersonalObraDataSet.PersonalOb)
End Sub
if textbox.MaskCompleted=True Then
    'they entered something 
else
     ' they didnt enter anything

Endif

問題是您只在此行中查找TextBox對象:

If TypeOf (myControl) Is TextBox Then

由於MaskedTextBox控件不從TextBox類繼承,因此您需要單獨檢查該類型,如下所示:

If (TypeOf (myControl) Is TextBox) Or (TypeOf (myControl) Is MaskedTextBox) Then

但是,因為它們都從TextBoxBase類繼承,所以你可以檢查它:

If TypeOf (myControl) Is TextBoxBase Then

試試這個:

If TypeOf myControl Is MaskedTextBox Then
        If CType(myControl, MaskedTextBox).Text.Equals(String.Empty) Then
            MessageBox.Show(String.Format("Please Fill the following Textboxes: {0}", String.Join(",", myControl.Name)))
        End If
        If CType(myControl, MaskedTextBox).Text.Equals(String.Empty) Then
            Exit Sub
        End If
End If

未經測試但不是檢查string.empty ,您可以根據MaskedTextBox的Mask屬性進行檢查。

If myControl.Text.Equals(myControl.Mask) Then
    MessageBox.Show(String.Format("Please Fill the following Textboxes: {0}", String.Join(",", myControl.Name)))
End If

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM