vb.net 文本框为空提示,一键清空文本框所有内容
生活随笔
收集整理的這篇文章主要介紹了
vb.net 文本框为空提示,一键清空文本框所有内容
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ?已經第二次機房收費系統重構了,一遍當然得有一遍的效果,正如對于文本框為空的提示方法,回顧第一遍機房,那些傻里傻氣的If語句讓自己對代碼的親和度大打折扣啊!那么到底有什么辦法解決那些重復性的判斷呢?這時候我們就要提到所謂的Model窗體了。在Model窗體中,建立一個封裝數組,當窗體中需要判斷大量文本框為空的時候,只需簡單的調用即可。
新建一個Model類,來存放公共需要的部分。
1、定義一個結構體Term,且用結構體封裝一個數組
Public Structure Term '定義結構體termDim controlSub As ControlDim strText As StringSub New(ByVal controlSub As Control, ByVal strText As String) '初始化對象With Me.controlSub = controlSub.strText = strTextEnd WithEnd Sub2、用結構體定義一個Term類型數組 '定義一個Term類型的結構體數組Public arrayControl() As Term
3、判斷文本框是否為空的函數 ''' <summary>''' 判斷文本框是否為空,進而給出相應提示''' </summary>''' <param name="ArrayControl"></param>''' <returns></returns>''' <remarks></remarks>Public Function CIsEmpty(ByVal ArrayControl() As Term) As BooleanDim 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.Exclamation)termControl.controlSub.Focus() '獲得焦點Return TrueExit FunctionEnd If4、當然函數是寫出來了,但是還得對定義的結構體進行初始化處理。我們需要在Registe的U層定義一個過程Rdim(),來完成此功能 Private Sub Rdim()ReDim Preserve arrayControl(9) '重新聲明數組維數'初始化數組arrayControl(0) = New Term(txtCard, "卡號")arrayControl(2) = New Term(txtstudentNo, "學號")arrayControl(3) = New Term(txtstudentName, "姓名")arrayControl(4) = New Term(ComboSex, "性別")arrayControl(5) = New Term(txtgrade, "年級")arrayControl(6) = New Term(txtclass, "班級")arrayControl(7) = New Term(txtCash, "金額")arrayControl(8) = New Term(txtstatus, "注釋")End Sub5、準備工作做完了,剩下的就是簡單的調用了!在Register窗體中直接調用CIsEmpty函數即可。Call Rdim() '首先調用Rdim過程進行數組初始化'調用CIsEmoty()函數,檢測是否輸入文本框內容If CIsEmpty(arrayControl) ThenExit SubEnd If這樣當運行出現文本框為空的情況,系統則會自動提示,方便簡潔!
6、那么如何能夠實現一鍵清除操作呢?方法同判斷文本框為空一樣,只需要編寫一個清除的函數則可
''' <summary>''' 清楚文本框的數據''' </summary>''' <param name="arraycontrol"></param>''' <returns>返回Boolean值,true</returns>''' <remarks></remarks>Public Function AllEmpty(ByVal arraycontrol() As Term) As BooleanDim termControl As Term '定義一個term類型變量For Each termControl In arraycontrolIf TypeOf termControl.controlSub Is TextBox ThentermControl.controlSub.Text = "" '判斷控件類型,如果是文本框或組合框則內容清空End IfNextReturn TrueEnd Function7、然后調用: Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.ClickCall Rdim() '首先調用Rdim過程進行數組初始化'調用AllEmoty()函數,刪除文本框中內容If AllEmpty(arrayControl) ThenExit SubEnd IfEnd Sub? ? ?上述雖然只是在注冊窗體中描述,但是對于其他的文本框以及組合框都是使用的,只要在對應的窗體中對結構體進行初始化處理,然后直接調用則可。感受:
? ? ?機房收費依舊在一步一步的進行著,與以往不同的則是所謂的“感覺”已經成熟了,最起碼當遇到問題的時候自己會想盡辦法去尋找最簡單實用的方法來滿足其需求。
轉載于:https://www.cnblogs.com/huohuoL/p/10545572.html
總結
以上是生活随笔為你收集整理的vb.net 文本框为空提示,一键清空文本框所有内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第 10 章 建造者模式【Builder
- 下一篇: vim编辑器的设置文件