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