vb.net & 文本框为空提示,一键清空文本框所有内容
来源:互联网 发布:网络阅卷软件 编辑:程序博客网 时间:2024/05/16 14:05
已经第二次机房收费系统重构了,一遍当然得有一遍的效果,正如对于文本框为空的提示方法,回顾第一遍机房,那些傻里傻气的If语句让自己对代码的亲和度大打折扣啊!那么到底有什么办法解决那些重复性的判断呢?这时候我们就要提到所谓的Model窗体了。在Model窗体中,建立一个封装数组,当窗体中需要判断大量文本框为空的时候,只需简单的调用即可。
2、用结构体定义一个Term类型数组
3、判断文本框是否为空的函数 4、当然函数是写出来了,但是还得对定义的结构体进行初始化处理。我们需要在Registe的U层定义一个过程Rdim(),来完成此功能 5、准备工作做完了,剩下的就是简单的调用了!在Register窗体中直接调用CIsEmpty函数即可。这样当运行出现文本框为空的情况,系统则会自动提示,方便简洁! 7、然后调用: 上述虽然只是在注册窗体中描述,但是对于其他的文本框以及组合框都是使用的,只要在对应的窗体中对结构体进行初始化处理,然后直接调用则可。
新建一个Model类,来存放公共需要的部分。
1、定义一个结构体Term,且用结构体封装一个数组
- Public Structure Term '定义结构体term
- Dim controlSub As Control
- Dim strText As String
- Sub New(ByVal controlSubAs Control, ByVal strTextAs String) '初始化对象
- With Me
- .controlSub = controlSub
- .strText = strText
- End With
- End Sub
2、用结构体定义一个Term类型数组
- '定义一个Term类型的结构体数组
- Public arrayControl() As Term
3、判断文本框是否为空的函数
- ''' <summary>
- ''' 判断文本框是否为空,进而给出相应提示
- ''' </summary>
- ''' <param name="ArrayControl"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Function CIsEmpty(ByVal ArrayControl()As Term) AsBoolean
- Dim termControl As Term '定义一个term类型变量
- '遍历结构体数组中的所有元素,如果控件文本为空,则进行相应提示
- For Each termControlIn ArrayControl '遍历结构体数组中的所有元素
- If TypeOf termControl.controlSubIs TextBox Then '判断控件是否为文本框
- If termControl.controlSub.Text.Trim ="" Then '判断文本框内容是否为空
- MessageBox.Show(termControl.strText & "不能为空!", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
- termControl.controlSub.Focus() '获得焦点
- ReturnTrue
- Exit Function
- End If
- 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 Sub
- Call Rdim() '首先调用Rdim过程进行数组初始化
- '调用CIsEmoty()函数,检测是否输入文本框内容
- If CIsEmpty(arrayControl)Then
- Exit Sub
- End If
6、那么如何能够实现一键清除操作呢?方法同判断文本框为空一样,只需要编写一个清除的函数则可
- ''' <summary>
- ''' 清楚文本框的数据
- ''' </summary>
- ''' <param name="arraycontrol"></param>
- ''' <returns>返回Boolean值,true</returns>
- ''' <remarks></remarks>
- Public Function AllEmpty(ByVal arraycontrol()As Term) AsBoolean
- Dim termControl As Term '定义一个term类型变量
- For Each termControlIn arraycontrol
- If TypeOf termControl.controlSubIs TextBox Then
- termControl.controlSub.Text = "" '判断控件类型,如果是文本框或组合框则内容清空
- End If
- Next
- Return True
- End Function
- Private Sub btnClear_Click(senderAs Object, eAs EventArgs) Handles btnClear.Click
- Call Rdim() '首先调用Rdim过程进行数组初始化
- '调用AllEmoty()函数,删除文本框中内容
- If AllEmpty(arrayControl) Then
- Exit Sub
- End If
- End Sub
感受:
机房收费依旧在一步一步的进行着,与以往不同的则是所谓的“感觉”已经成熟了,最起码当遇到问题的时候自己会想尽办法去寻找最简单实用的方法来满足其需求。
1 0
- vb.net & 文本框为空提示,一键清空文本框所有内容
- vb.net & 文本框为空提示,一键清空文本框所有内容
- VB.NET-轻松判断文本框是否为空,一键清空文本框内容
- 清空文本框所有内容
- VB限制窗体内所有文本框为空
- VB.Net文本框提示及一次性清空
- asp.net一次清空所有textbox文本框的内容
- C#遍历查询文本框是否为空,判断文本框是否为数字,一键清空文本框内容
- VB.NET 用循环判断文本框是否为空
- 判断文本框是否为空,一键清空文本框
- 文本框获得焦点时,内容为空!
- jQuery验证文本框内容不为空
- 清空文本框内容
- 获取VB文本框内容
- 常用文本框内容自动垂直居中,并且默认提示文字可单击为空(实例)!
- VB.NET 完美解决判断文本框、组合框为空问题
- VB清空窗体内所有文本框(其他控件同理)
- 文本框提示内容
- VB.NET & (三层+泛型)实现组合查询
- c语言的快速枚举
- c语言的循环
- Vb.net/VB 声明API函数实现父窗体功能
- vb.net & 泛型集合-解决Datatable强耦合
- vb.net & 文本框为空提示,一键清空文本框所有内容
- VB.NET & DataGridView与数据库的连接
- C语言------指针(一)
- 考试系统的基础维护--基本表的连接操作
- CentOS下SSH双机/多机互信
- 那些走过的时间-大学毕业感叹
- SharePoint Online 创建门户网站系列之导航
- 杭电---2066 一个人的旅行
- VB.NET机房收费 & 抽象工厂模式