学生系统优化(添加篇)

1.设置文本框提示水印字体,将Labele控件与txt文本框控件的功能合二为一显示
优化前
这里写图片描述
原理:把提示信息在文本框中显示,当获得焦点时清空时清空,失去焦点时显示,涉及到两种事件,获得焦点时触发的事件,失去焦点时触发的事件,以为密码为例
获得焦点时

Private Sub txtPassword1_GotFocus()
If (txtPassword1.Text = “请输入密码” Or txtPassword1.Text = “”) Then
txtPassword1.Text = “”
txtPassword1.PasswordChar = “*”(此处为隐藏密码)
txtPassword1.ForeColor = QBColor(0)
txtPassword1.FontItalic = False
txtPassword1.FontSize = 10
End If
End Sub

失去焦点时

Private Sub txtPassword1_LostFocus()
If (txtPassword1.Text = “”) Then
txtPassword1.Text = “请输入密码”
txtPassword1.PasswordChar = “”
txtPassword1.ForeColor = QBColor(8)
txtPassword1.Font.Size = 12
txtPassword1.FontItalic = True
txtPassword1.Font = “隶书”
End If
End Sub

效果
这里写图片描述
添加水印字体提示后而引发的的问题
判断为空问题
如果优化成水印字体后,源代码中的判断为空的代码将不可用,因为,有水印字体的存在,任何时候都不为空,没有输入用户名时,水印提示自动存在,系统不会判为空
优化方法和获得焦点如出一辙:

If txtUserName.Text = “请输入用户名” Or txtUserName.Text = “” Then
MsgBox “请输入用户名称!”, vbOKOnly + vbExclamation, “警告”
txtUserName.SetFocus
Exit Sub
End if

原理:当用户名文本框为“请添加用户名”这几个字或为空时提示,请输入用户名
这里写图片描述

2.班主任只能输入英文和汉字
班主任可能会由外教任职,所以不能限制班主任名称为汉字

Private Sub txtDirector_KeyPress(KeyAscii As Integer)
If KeyAscii < 0 Or KeyAscii = 8 Or KeyAscii = 13 Then
ElseIf Not Chr(KeyAscii) Like “[a-zA-Z]” Then
KeyAscii = 0
End If
End Sub

3.combo控件运行时不能进行操作:更改属性style –2DropdownList

4.添加信息成功后自动清空,方便再次录入信息,清空文本框txt控件和combobox控件方法不同,如
清空ID: txtSID.text = “”
清空性别:combosex.clear

5.限制成绩范围在0-100之间

Private Sub txtResult_Change() On Error Resume Next If
Val(Trim(txtResult.Text)) > 100 Or (Trim(txtResult.Text)) < 0
Then MsgBox “输入数字超出范围,请重新输入”
End If
End Sub

这里写图片描述
当成绩超出范围会自动提示,并清空

6.限制输入字符长度
设置MaxLength属性为10

7.登录窗体后禁止最大化最小化操作
设置MaxButton的属性为False
设置MinButton的属性为False

猜你喜欢

转载自blog.csdn.net/qq_42758288/article/details/82532514
今日推荐