Foxtable(狐表)用户栏目专家坐堂 → [推荐]批量判断窗口控件为空的简易代码


  共有7464人关注过本帖树形打印复制链接

主题:[推荐]批量判断窗口控件为空的简易代码

帅哥哟,离线,有人找我吗?
unverse
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1085 积分:8220 威望:0 精华:4 注册:2012/3/31 18:08:00
[推荐]批量判断窗口控件为空的简易代码  发帖心情 Post By:2012/11/3 23:48:00 [显示全部帖子]

如果一个窗口在保存的时候有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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
unverse
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1085 积分:8220 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2012/11/4 0:23:00 [显示全部帖子]


 回到顶部