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

前端之家收集整理的这篇文章主要介绍了【重构】判断文本框组合框是否为空前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

【知识点】

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

代码如下:

<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 & "组合框不能为空!",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>
【小结】

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

原文链接:https://www.f2er.com/vb/257481.html

猜你在找的VB相关文章