I want to check the controls in my Form is empty or not... I have a long code for that. I give code given below.
Public totflag As Boolean
Private Sub BTNSAVE_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BTNSAVE.Click
CheckMyControls()
If totflag = False Then
MessageBox.Show("Give Compleate Data!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
coloring()
ElseIf totflag = True Then
MessageBox.Show("Success", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Public Sub coloring()
Dim txt, cmb, mtxt, rtxt As Control
For Each txt In EMPGBDATA.Controls
If TypeOf txt Is TextBox Then
If txt.Text = "" Then
txt.BackColor = Color.Red
End If
End If
Next
For Each cmb In EMPGBDATA.Controls
If TypeOf cmb Is ComboBox Then
If cmb.Text = "Select" Then
cmb.BackColor = Color.Red
End If
End If
Next
For Each mtxt In EMPGBDATA.Controls
If TypeOf mtxt Is MaskedTextBox Then
If mtxt.Text = "" AndAlso mtxt.Name <> "MTXTPFESI" Then
mtxt.BackColor = Color.Red
End If
End If
Next
For Each rtxt In EMPGBDATA.Controls
If TypeOf rtxt Is RichTextBox Then
If rtxt.Text = "" Then
rtxt.BackColor = Color.Red
End If
End If
Next
End Sub
Public Function CheckMyControls() As Boolean
Dim txt, cmb, mtxt, rtxt As Control
Dim flagtxt, flagcmb, flagmtxt, flagrtxt As Boolean
flagtxt = False
For Each txt In EMPGBDATA.Controls
If TypeOf txt Is TextBox Then
If txt.Text = "" Then
flagtxt = True
End If
End If
Next
flagcmb = False
For Each cmb In EMPGBDATA.Controls
If TypeOf cmb Is ComboBox Then
If cmb.Text = "Select" Then
flagcmb = True
End If
End If
Next
flagmtxt = False
For Each mtxt In EMPGBDATA.Controls
If TypeOf mtxt Is MaskedTextBox Then
If mtxt.Text = "" AndAlso mtxt.Name <> "MTXTPFESI" Then
flagmtxt = True
End If
End If
Next
flagrtxt = False
For Each rtxt In EMPGBDATA.Controls
If TypeOf rtxt Is RichTextBox Then
If rtxt.Text = "" Then
flagrtxt = True
End If
End If
Next
If flagtxt = True Or flagcmb = True Or flagmtxt = True Or flagrtxt = True Then
totflag = False
Else
totflag = True
End If
Return totflag
End Function
Actually i don't want to check one PFESI textbox. If it is empty or not. This is a masked text box. My problem is when i press the submit button with all controls have data, it shows the messsage box "Give Complete Data!". Controls without data also shows the same message. Please try to check the code and give me solution.
You are trying to do it too complicated. I am not in front of the computer so maybe the code have minor errors:
If CheckMyControls() = False Then
MessageBox.Show("Give Compleate Data!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
coloring()
Else
MessageBox.Show("Success", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Public Sub coloring()
For Each cntrl In Me.Controls
Select Case cntrl.GetType
Case GetType(ComboBox)
If cntrl.Text = "Select" Then
cntrl.BackColor = Color.Red
Exit For
End If
Case GetType(MaskedTextBox)
If cntrl.Text = "" AndAlso cntrl.Name <> "MTXTPFESI" Then
cntrl.BackColor = Color.Red
End If
Case Else
If cntrl.Text = "" Then
cntrl.BackColor = Color.Red
End If
End Select
Next
End Sub
Public Function CheckMyControls() As Boolean
Dim bEmptyControlFlag As Boolean
For Each cntrl In Me.Controls
Select Case cntrl.GetType
Case GetType(ComboBox)
If cntrl.Text = "Select" Then
bEmptyControlFlag = True
Exit For
End If
Case Else
If cntrl.Text = "" Then
bEmptyControlFlag = True
End If
End Select
Next
Return Not bEmptyControlFlag
End Function