机房重构——三层文本框的处理

一般在U层中我们对文本款的代码往往是写的很冗余并且重复。所以我们就可以把他归为一个模块中。这样不仅使代码整洁而且省时。下面我们就来看看怎样处理文本框的。我先申明一下,我的CSDN使用不了代码编辑器和插不进图片,编辑的确不美观。等我换了系统再把格式编辑一下。


1, 判断文本框是否为空

(1)先imports 窗体。

Imports System.Windows.Forms


(2) 定义一个结构体Term,他是由一系列具有相同类型或不同类型的数据构成的数据集合

 Public Structure Term
        Dim controlSub As Control
        Dim strText As String
        Sub New(ByVal controlSub As Control, ByVal strText As String)
            With Me
                .controlSub = controlSub
                .strText = strText
            End With

        End Sub

    End Structure


(3)定义一个Term类型的结构体数组

 Public arrayControl() As Term


(4) 判断数组中控件的Text属性是否为空

  Public Function CheckIsEmpty(ByVal arrayControl() As Term) As Boolean
        Dim termControl As Term         '声明一个Term类型的变量
        For Each termControl In arrayControl  '遍历结构体数组中所有元素
            If TypeOf termControl.controlSub Is TextBox Then '判断控件是否为文本框
                If (termControl.controlSub.Text.Trim = "") Then '判断控件内容是否为空
                    MessageBox.Show(termControl.strText & "不能为空!", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    termControl.controlSub.Focus()                  '控件得到焦点
                    Return True
                    Exit Function
                End If


            Else
                If TypeOf termControl.controlSub Is ComboBox Then '判断控件是否为组合框
                    If (termControl.controlSub.Text.Trim = "") Then   '判断控件内容是否为空
                        MessageBox.Show(termControl.strText & "不能为空!", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        termControl.controlSub.Focus()              '控件得到焦点
                        Return True
                        Exit Function
                    End If
                End If
            End If
        Next
        Return False
    End Function


2,清空文本的内容

 Public Function AllEmpty(ByVal arrayControl() As Term) As Boolean
        Dim termControl As New Term
        For Each termControl In arrayControl
            If TypeOf termControl.controlSub Is TextBox Then
                If termControl.controlSub.Text.Trim <> "" Then
                    termControl.controlSub.Text = ""
                End If
            End If
            If TypeOf termControl.controlSub Is ComboBox Then
                If termControl.controlSub.Text <> "" Then
                    termControl.controlSub.Text = ""
                End If
            End If


        Next
        Return True
    End Function


按这样的模式我就可以写出判断文本框是否为数值,是否超过允许的范围内等等功能,这就是一个引子而已。大家可以发挥自己主观能动性,需要功能就可以自己写自己想要的函数,因为我是借鉴别人经验,代码确实有雷同之处。



你可能感兴趣的:(机房重构——三层文本框的处理)