看到很多小伙伴都写了学生信息管理系统优化的博客了,总结的都详细认真,看她们总结的博客帮助了我少走了很多弯路。
文本框的代码输入
文本框只能输入数字:
Private Sub txtSID_KeyPress(KeyAscii As Integer) '只能输入数字
If KeyAscii = 8 Then
ElseIf KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii = 0
End If
End Sub
文本框只能输入汉子:
Private Sub txtName_KeyPress(KeyAscii As Integer)
If KeyAscii < 0 Or KeyAscii = 8 Or KeyAscii = 13 Then Exit Sub
KeyAscii = 0
End Sub
文本框只能输入字母和汉子:
Private Sub txtName_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
文本框不能输入特殊字符:
Private Sub txtUserName_KeyPress(KeyAscii As Integer)
Dim cTemp As String
cTemp = "`~!@#$%^&*()-=_+[]{};:'\|<>/?.‘“”’、,。——+()《》?,~·……¥!:;【】" & """ '禁止输入特殊的字符"
If InStr(1, cTemp, Chr(KeyAscii)) <> 0 Then KeyAscii = 0
End Sub
text box (文本框)中不允许输入信息
更改文本款属性Locked = True
combo box控件中不允许输入信息,只能下拉选择信息
Private Sub comboClassNo_KeyPress(KeyAscii As Integer)
KeyAscii = 0 '取消按键,让按键操作失效'
End Sub
或者
style属性设为2-DropDownList
出生日期文本框添加日历:
添加方式:工程->部件->microsoft windows common controls-2 6.0
然后使用Date timePicker控件,然后添加代码
所选日历中的日期值赋予出生文本框
Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
txtBorndate.Text = DTPicker2.Value
End Sub
将日期改变后的值赋予文本框
Private Sub DTPicker1_Change()
txtBorndate.Text = DTPicker1.Value
End Sub
可以UpDown设置属性
日历表就不在出现,直接输入日期就可以了,当然没设置属性之前,也可以直接输入,也可以在日历中点到具体的年月日。
字段的限制
添加学籍中,更改textbox属性MaxLength=11,电话号码输入11位,还是报错,因为数据库字符限制了10位,所以超过10位就会报错。只需要更改数据库字符串的限制就可以了。
右击学生的表,然后选择设计出现学生信息设计的表,修改电话数据类型,然后保存,显示不允许保存更改。菜单栏中选择工具-选项,点入设计器,把里面阻止保存要求重新创建表的更改,前边的对号去掉就行,然后在去改tele_Number的数据类型就能保存了。
运行时窗口大小设置
窗体调试的很合适了,但是运行时窗体大小比例又不一样了,在VB窗体中,窗体之所以能拖动改变大小,就是靠一个“边框”来实现的。所以把窗口属性 BorderStyle 设置成1—fixed single即可。