首先,推斷視窗中全部文字框、組合框是否為空;
<span style="font-size:18px;">Imports System.Windows.Forms
'**********************************************
'文 件 名: verdict
'名稱空間: UI
'內 容:
'功 能: 推斷使用者輸入是否為空。推斷輸入的username等一系列是數字的文字框是否是數字
'檔案關係:
'作 者:丁國華
'小 組:寶貝計劃
'生成日期: 2014/8/5 10:32:09
'版本:V2.0
'改動日誌:
'版權說明:
'**********************************************
Public Class verdict
''' <summary>
''' 推斷視窗中全部文字框、組合框輸入內容是否為空,若視窗中有同意為空的文字框或組合框,
'''則不能使用此函式
''' </summary>
''' <param name="frm"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function IsAllEmptyText(ByVal frm As Form) As Boolean
Dim control As New Control
For Each control In frm.Controls '遍歷視窗中全部的控制元件
If TypeOf control Is TextBox Then '推斷控制元件是不是文字框
If control.Text.Trim = "" Then '推斷文字框內容是否為空
MsgBox(control.Tag.ToString + "不能為空!
", vbOKOnly, "溫馨提示") control.Focus() Return True Exit Function End If ElseIf TypeOf control Is ComboBox Then '推斷控制元件是不是組合框 If control.Text.Trim = "" Then MsgBox(control.Tag.ToString + "不能為空!", vbOKOnly, "溫馨提示") Return True Exit Function End If End If Next Return False End Function</span>
接著。推斷一部分文字框、組合框是否為空;
<span style="font-size:18px;"> ''' <summary>
''' 推斷控制元件陣列中的控制元件的Text屬性是否為空
''' </summary>
''' <param name="arrayControl"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function IsSomeEmptyText(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 '推斷文字框內容是否為空
MsgBox(control.Tag.ToString + "不能為空!", vbOKOnly, "溫馨提示")
control.Focus()
Return True
Exit Function
End If
ElseIf TypeOf control Is ComboBox Then '推斷控制元件是不是組合框
If control.Text.Trim = "" Then
MsgBox(control.Tag.ToString + "不能為空!", vbOKOnly, "溫馨提示")
Return True
Exit Function
End If
End If
Next
Return False
End Function</span>
最後,推斷是否為數字;
<span style="font-size:18px;"> ''' <summary>
''' 推斷輸入的是否為數字
''' </summary>
''' <param name="arrayControl"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function IsNumberic(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 '推斷文字框內容是否為空
If IsNumeric(control.Text) = False Then
'MsgBox(control.Tag.ToString + "不能為空!
", vbOKOnly, "溫馨提示") MsgBox(control.Tag.ToString + " " + "請輸入數字", vbOKOnly, "提示") control.Focus() control.Text = "" Return False Exit Function End If End If Next Return True End Function</span>
緊接著,我們以機房收費系統中,基本資料設定為例,看看我們是怎樣進行呼叫的;
<span style="font-size:18px;"> Dim arrayControl() As Control
ReDim Preserve arrayControl(4)
arrayControl(0) = txtRate
arrayControl(1) = txtUnittime
arrayControl(2) = txtLeasttime
arrayControl(3) = txtPretime
arrayControl(4) = txtLimitcash
If verdict.IsSomeEmptyText(arrayControl) Then
Exit Sub
End If
If verdict.IsNumberic(arrayControl) = False Then
Exit Sub
End If</span>
把公共須要使用的部分,抽象出來寫成一個類,其餘的視窗直接進行呼叫。這樣方便,簡單。第二版機房收費系統。未完。待續......