【重构】判断文本框组合框是否为空

        在机房重构中,判断文本框与组合框的内容是否为空是必不可少的,如果遇到文本框较多的窗体一个一个的进行判断实在是太麻烦,而且重复代码太多。重构中避免重复代码的出现是必须的,所以可以将重复的代码封装成一个类。

        【知识点】

        其实很简单,可以新建一个类模块,在里面写入判断是否为空的函数,需要时就可以直接调用函数。

        代码如下:

<span style="font-size:18px;">''' <summary>
    ''' 判断文本框,组合框不能为空
    ''' </summary>
    ''' <param name="arrayControl"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function IsEmptyText(ByVal arrayControl() As Control) As Boolean
        Dim control As New Control
        '遍历结构体数组中的所有元素,如果控件文本为空,则给出警告提示
        For Each control In arrayControl   '遍历数组中所有元素  
            If TypeOf control Is TextBox Then '判断控件是不是文本框  
                If control.Text.Trim = "" Then '判断文本框内容是否为空  
                    MessageBox.Show(control.Text & "文本框不能为空!", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                    control.Focus()
                    Return True
                    Exit Function
                End If
            ElseIf TypeOf control Is ComboBox Then '判断控件是不是组合框  
                If control.Text.Trim = "" Then
                    MessageBox.Show(control.Text & "组合框不能为空!", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                    control.Focus()
                    Return True
                    Exit Function
                End If
            End If
        Next
        Return False
    End Function</span>

        调用该函数时就可以这样写:

<span style="font-size:18px;"> '判断是否为空()
        Dim arrayControl() As Control
        ReDim Preserve arrayControl(2)
        arrayControl(0) = txtUserID
        arrayControl(1) = txtUserPWD
        If IsEmptyText(arrayControl) Then
            Exit Sub
        End If</span>
        【小结】

        第一次做机房的时候重复的代码真的很多,这次就尽量减少重复代码的出现,将重复代码封装调用是必不可少的。不只是判断文本框组合框是否为空的问题,像清空文本框也是一样的,以及对下机的处理,整个系统有三个地方可以下机,主界面点击下机,选中学生下机,全部学生下机,这三部分下机的代码实现是一致的,这里写三遍代码就不可取了。重复代码太多就要想办法提炼一下,避免代码坏味道。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值