【问题标题】:How to set limit values textbox and show message box when reached maximum limit VB.Net如何设置限制值文本框并在达到最大限制时显示消息框 VB.Net
【发布时间】:2016-03-19 18:30:36
【问题描述】:

抱歉英语不好。

我是 VB.Net 的初学者,在这个问题上,我想进行文本框验证以在达到最大限制时显示消息框。 在这段代码下面

公开课形式1 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) 处理 TextBox1.TextChanged 将 i 调暗为整数 文本框1.MaxLength = 6 i = TextBox1.MaxLength 如果 TextBox1.Text.Length > i 那么 MsgBox("最多 6 个字符") 万一 结束子 结束类

【问题讨论】:

  • 如果您设置 MaxLength 属性,您将无法使用此事件,因为您的文本永远不会超过 6 个字符。是控件本身在第 6 个字符之后不接受任何输入

标签: vb.net


【解决方案1】:

在表单加载事件集TextBox1.MaxLength = 6

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
      TextBox1.MaxLength = 6
 End Sub

并在TextBox1_KeyDown事件

中使用以下代码
 Private Sub TextBox1_KeyDown(ByVal sender As Object _
                             , ByVal e As System.Windows.Forms.KeyEventArgs _
                             ) Handles TextBox1.KeyDown
    If Trim(TextBox1.Text).Length = 6 Then
        MsgBox("Maximum is 6 Character")
    End If
End Sub

或者

保持TextBox1.MaxLength为系统默认值,如果您使用以下代码,则无需将其长度更改为6

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        If Trim(TextBox1.Text).Length = 6 Then
            e.Handled = True
            MsgBox("Maximum is 6 Character")
        End If
End Sub

【讨论】:

  • 为什么是 Load 事件?我认为那是反模式。为什么不是构造函数或 OnLoad 事件?
  • 效果很好,非常感谢您的回答。
猜你喜欢
  • 1970-01-01
  • 2016-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多