前言:
记得很久之前就有同学写过了,关于遍历窗体中的控件,判断是否将信息填写完整的博客。现在进行机房合作,同样遇到了这个问题,很想试一试。因为一遍一遍的写代码实在是太麻烦了。想偷懒嘛,那就得支个招啊。然后找到了宋同学的博客。是vb.net的。就觉得语言还是掌握的不够好,所以C#版的一时半会儿竟然被卡住了,所幸,我没有放弃,而是又上网查了查,终于弄出来了下面的代码。如有不妥之处,还望各位斧正。
代码: 将这个方法单独写出来,以后再客户端调用即可
C#版:
public void CheckTxtExits(Form form){
foreach (Control ctl in this.Controls) {
if (ctl.Text == "")
{
throw new Exception();
}
}
}
调用:
try {
CheckTxtExits(this);
}
catch {
MessageBox.Show("请将信息补充完整");
}
VB.NET版
Public Class CheckTXTExist
Dim ex As New Exception
Public Sub CheckTxtExist(ByVal form As Windows.Forms.Form) 'form为参数
Dim ct As Control ' 定义ct为控件类
For Each ct In form.Controls ' 循环窗体中的控件
If (TypeOf ct Is TextBox) Then '如果控件为textbox
If ct.Text = "" Then '如果该textbox.text="" 就抛出一个异常
Throw ex
Exit Sub
End If
End If
If (TypeOf ct Is ComboBox) Then ' 如果控件为combobox 且text 属性为空则抛出一个异常
If ct.Text = "" Then
Throw ex
Exit Sub
End If
End If
Next
End Sub
End Class
客户端调用:
Dim check As New CheckTXTExist
Try<span style="white-space:pre"> '利用异常处理程序抓捕由于控件text属性为空导致的程序异常。</span>
check.CheckTxtExist(Me)
Catch ex As Exception
MsgBox("请将信息补充完整")
Exit Sub
End Try
总结:
懒,其实是创造的源泉。因为懒,就像去查找更简单的方法,也就进步了。所以大家还是懒点吧~