机房收费系统之减少代码冗余(快速清空文本框、限制字符且清空)

浅浅的花香味﹌ 2021-09-23 19:00 351阅读 0赞

机房收费系统中有很多都是重复的代码,代码冗余很严重,降低了代码利用率,也浪费自己的时间去敲重复的代码。所以我们为什么不想一个办法去解决这个问题呢。懒是发明的第一推动力。

一、快速清空文本框、下拉框等等。

在清空按钮中写以下代码

  1. Private Sub cmdClear_Click()
  2. 'Controls 集合是表示窗体或容器控件上的控件的元素的集合。
  3. Dim ctrl As Control
  4. '用到了For...Next循环
  5. For Each ctrl In Me.Controls
  6. If TypeOf ctrl Is TextBox Then '是否为文本框TextBox
  7. ctrl.Text = ""
  8. End If
  9. Next
  10. For Each ctrl In Me.Controls
  11. If TypeOf ctrl Is ComboBox Then '是否为下拉框comboBox
  12. ctrl.Text = ""
  13. End If
  14. Next
  15. End Sub

解释:

1.Controls 集合是表示窗体或容器控件上的控件的元素的集合。

2.用到了For…Next循环,判断控件类型

3.若是还想清空其他控件,将TextBox或者ComboBox改成你想清空的控件就行。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Byb21zaW5n_size_16_color_FFFFFF_t_70

二、限制字符只能为数字且长度不超过6位(普遍使用于学号、卡号、金额)

添加一个模块,在模块中写以下代码

  1. Option Explicit
  2. Public X As Integer '文本框的字符长度
  3. Public T As String '在模块中替代文本框
  4. Public b As Boolean '打标签,做一个判断
  5. Public Function text_KeyPress(KeyAscii As Integer)
  6. '限制字符,数字
  7. If KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8 Then
  8. Else
  9. KeyAscii = 0
  10. End If
  11. '判断文本框长度
  12. If X > 5 Then
  13. KeyAscii = 0
  14. MsgBox "字数超出 ", 64, "温馨提示:"
  15. T = ""
  16. b = True
  17. End If
  18. End Function

在文本框的KeyPress事件中写以下代码

  1. Private Sub txtCardNo_KeyPress(KeyAscii As Integer)
  2. '将文本框的长度传给X
  3. X = Len(txtCardNo.Text)
  4. Call mdlKeyPress.text_KeyPress(KeyAscii)
  5. '标签
  6. If b = True Then
  7. txtCardNo.Text = T
  8. b = False
  9. End If
  10. End Sub

解释:文本框的长度只有两种可能,一种以X<5,一种是X≥5;标签b的默认值为False,当X≥5时,b=True,清空文本框。

***只能输入汉字与字母

  1. Private Sub txtUserID_keypress(KeyAscii As Integer)'只能输入汉字与字母
  2. 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
  3. KeyAscii = 0
  4. End If
  5. End Sub

三、快速下拉框添加内容(For…Next循环、控件数组)

  1. '打开窗体时的加载内容
  2. For i = 0 To 2
  3. comboField(i).AddItem "教师"
  4. comboField(i).AddItem "注册日期"
  5. comboField(i).AddItem "注册时间"
  6. comboField(i).AddItem "注销日期"
  7. comboField(i).AddItem "注册时间"
  8. comboField(i).AddItem "机器名"
  9. Next
  10. For j = 0 To 2
  11. comboOpSign(j).AddItem ">"
  12. comboOpSign(j).AddItem "<"
  13. comboOpSign(j).AddItem "="
  14. comboOpSign(j).AddItem "<>"
  15. Next j
  16. For n = 0 To 1
  17. comboCombineRelation(n).AddItem "与"
  18. comboCombineRelation(n).AddItem "或"
  19. Next n

结语:磨刀不误砍柴工,懒是发明的第一推动力。

发表评论

表情:
评论列表 (有 0 条评论,351人围观)

还没有评论,来说两句吧...

相关阅读