如果一个窗口在保存的时候有N个控件需要保存前判断是否为空,传统判断方式如下:
If e.Form.Controls("ComboBox4").value=Nothing Then
MessageBox.Show("请选择支piao类别,请输入","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
e.Form.Controls("ComboBox4").Select
Return
ElseIf e.Form.Controls("ComboBox3").value=Nothing Then
MessageBox.Show("收款单位不能为空,请输入","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
e.Form.Controls("ComboBox3").Select
Return
。。。。
N个重复代码
。。。。
End If
代码会很长。维护起来也不方便,重复的太代码太多,可以用以下代码替代:
Dim kjmc() As String '控件名称
Dim tsmc() As String '提示名称
Dim kjmcjh As String = "dt_rq,汇款人全称,汇款人账号,汇款人_省,汇款人_市,汇款人行名,金额,收款人全称,收款人账号,收款人省,收款人市,收款人行名" '控件名称集合
Dim tsmcjh As String = "piao据日期,汇款人全称,汇款人账号,汇出地点(省),汇出地点(市),汇出行名称,金额大写,收款人全称,收款人账号,收款人(省),收款人(市),收款人行名" 'megbox提示信息集合
kjmc = kjmcjh.split(",")
tsmc = tsmcjh.Split(",")
For i As Integer=0 To kjmc.Length-1
If e.Form.Controls(kjmc(i)).value Is Nothing Then
MessageBox.Show(tsmc(i) & "不能为空,请检查")
e.Form.Controls(kjmc(i)).Select
Return
End If
Next
用以上代码可轻松搞定,需要判断的控件再多,只需要在kjmcjh 添加控件的名称,和tsmcjh (messagebox提示值)即可,代码精简了很多,,希望对大家有用。。。
[此贴子已经被作者于2012-11-4 12:38:18编辑过]