【学生】vb中的各种限制

举报
Laura_张 发表于 2022/08/27 01:06:03 2022/08/27
【摘要】 【前言】 在学生信息管理系统中会遇到输入姓名、学号、联系电话和日期的时候,这个时候为了方便使用,往往是需要限制一下文本框的输入信息的。 【正文】 限制文本框只能输入数字和删除键 Private Sub txtClassno_KeyPress(KeyAscii As Integer) Select Case KeyAscii ...

【前言】

在学生信息管理系统中会遇到输入姓名、学号、联系电话和日期的时候,这个时候为了方便使用,往往是需要限制一下文本框的输入信息的。

【正文】

  • 限制文本框只能输入数字和删除键

  
  1. Private Sub txtClassno_KeyPress(KeyAscii As Integer)
  2. Select Case KeyAscii
  3. Case 48 To 57
  4. Case 8
  5. Case Else
  6. KeyAscii = 0
  7. MsgBox "请输入数字", vbOKOnly + vbExclamation, "提示"
  8. txtClassno.Text = ""
  9. End Select
  10. End Sub
  • 限制文本框只能输入汉字和删除键

  
  1. Private Sub txtDirector_KeyPress(KeyAscii As Integer)
  2. If KeyAscii >= -20319 And KeyAscii <= -3652 Or KeyAscii = 8 Then
  3. Else
  4. KeyAscii = 0
  5. MsgBox "请输入汉字!", vbOKOnly + vbExclamation, "提示"
  6. txtDirector.SetFocus
  7. End If
  8. End Sub
  • 限制输入的数字长度

  
  1. If Len(txtTel.Text) <> 11 Then
  2. MsgBox "请输入11位数字电话号码", vbOKOnly + vbExclamation, "警告"
  3. txtTel.Text = ""
  4. txtTel.SetFocus
  5. Exit Sub
  6. End If
  • 禁止复制

  
  1. '禁止单击右键
  2. Private Sub txtName_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  3. If Button = MouseButtonConstants.vbRightButton Then
  4. MsgBox "右键菜单被禁用.", vbOKOnly, "对不起"
  5. End If
  6. End Sub
  •  禁止使用剪切板

  
  1. '清空剪切板
  2. Private Sub txtCardNo_KeyDown(KeyCode As Integer, Shift As Integer)
  3. If Shift = 2 And KeyCode = vbKeyV Then '如果是Ctrl+V,清空剪贴板
  4. Clipboard.Clear
  5. End If
  6. End Sub
  7. '清空剪切板
  8. Private Sub txtCardNo_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  9. If Button = 2 Then '如果是右键,清空剪贴板
  10. Clipboard.Clear
  11. End If
  12. End Sub
  • 限制文本框的内容不为空

  
  1. '限制文本框输入内容不为空
  2. If Not Testtxt(txtClassno.Text) Then
  3. MsgBox "请输入班号!", vbOKOnly + vbExclamation, "警告"
  4. txtClassno.SetFocus
  5. Exit Sub
  6. End If
  •  判断文本框是否输入数字

  
  1. '判断输入文本框是否输入数字
  2. If Not IsNumeric(Trim(txtSID.Text)) Then
  3. MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
  4. Exit Sub
  5. txtSID.SetFocus
  6. End If
  •  限制成绩的取值范围是0-120

  
  1. '限制成绩的取值范围是0-120
  2. Private Sub txtResult_Change()
  3. On Error Resume Next
  4. If Val(Trim(txtResult.Text)) > 120 Or (Trim(txtResult.Text)) < 0 Then
  5. MsgBox "输入数字超出范围,请重新输入"
  6. txtResult.Text = ""
  7. txtResult.SetFocus
  8. End If
  9. End Sub
  •  限制用户名只能输入数字和字母

  
  1. '限制用户名只能输入数字和字母
  2. Private Sub txtUsername_KeyPress(KeyAscii As Integer)
  3. Select Case KeyAscii
  4. Case 48 To 57 '只能输入数字
  5. Case 65 To 90 '只能输入大小写字母
  6. Case 97 To 122
  7. Case 8 ' 只能输入退格
  8. Case Else
  9. KeyAscii = 0 '不能输入空格
  10. End Select
  11. End Sub
  • 只能输入汉字和数字

  
  1. If ((KeyAscii <= 57 And KeyAscii >= 48) Or (KeyAscii <= -3652 And KeyAscii >= -20319) Or KeyAscii = 8) = False Then KeyAscii = 0
  •  只能输入数字和英文字母

  
  1. Private Sub Text1_KeyPress(KeyAscii As Integer)
  2. If ((KeyAscii >= 48 And KeyAscii <= 57) Or (KeyAscii >= 65 And KeyAscii <= 90) Or (KeyAscii >= 97 And KeyAscii <= 122)) = False Then KeyAscii = 0
  3. End Sub
  • 只能输入汉字和英文字母

  
  1. Private Sub txtName_Change()
  2. txtName.MaxLength = 10 '限制长度为10
  3. End Sub
  4. Private Sub txtName_KeyPress(KeyAscii As Integer)
  5. If ((KeyAscii <= -3652 And KeyAscii >= -20319) Or (KeyAscii >= 65 And KeyAscii <= 90) Or (KeyAscii >= 97 And KeyAscii <= 122) Or KeyAscii = 32 Or KeyAscii = 8) = False Then
  6. KeyAscii = 0
  7. End If
  8. End Sub
  • 限制特殊符号,只能输入汉字和字母

  
  1. Private Sub txtCoursename_KeyPress(KeyAscii As Integer)
  2. If KeyAscii < 0 Or KeyAscii = 8 Or KeyAscii = 13 Then
  3. ElseIf Not Chr(KeyAscii) Like "[a-zA-Z]" Then
  4. KeyAscii = 0
  5. End If
  6. End Sub
  • 限制出生日期早于入学日期 

  
  1. Dim borndate As Date  
  2. Dim getdate As Date'定义变量  
  3. borndate =Trim(txtBorndate.Text)  
  4. getdate =Trim(txtRudate.Text)  
  5. If getdate<=borndate then'进行比较  
  6.     MsgBox"入学时间不能早于出生时间,请重新输入",vbOKOnly + vbInformation,"警告"  
  7.     txtRudate.SetFocus  
  8.     Exit Sub  
  9. End If  
  • 限制文本框的输入长度
txtClassno.MaxLength = 10

 
  • 限制文本框输入内容的取值范围

  
  1. If Val(txtClassno.Text) > 2147483647 Or Val(txtClassno.Text) < 1Then
  2. MsgBox "输入数值在1到2147483647范围内"
  3. txtClassno.SetFocus
  4. Exit Sub
  5. End If
  • 限制家庭住址不能输入特殊字符。

  
  1. Private Sub txtAddress_KeyPress(KeyAscii As Integer)
  2. Dim cTemp As String
  3. cTemp = "`~!@#$%^&*()-=_+[]{};:'\|<>/?.‘“”’、,。——+()《》?,~·……¥!:;【】" & """ '禁止输入特殊的字符"
  4. If InStr(1, cTemp, Chr(KeyAscii)) <> 0 Then
  5. KeyAscii = 0
  6. End If
  7. End Sub

 

  • 限制text框不可以输入

 locked属性锁定 。 

  • 显示combobox控件不可以输入

style属性值为2进行锁定。  

 

【后记】

暂时先总结这些吧,欢迎斧正~

文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Laura__zhang/article/details/99320794

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。