如何防止MaxLength发出哔哔声或完全阻止应用程序发出哔哔声?

时间:2014-10-27 05:36:34

标签: .net vb.net winforms maxlength beep

我的问题:

当我的文本框的MaxLength到达时,会发出哔声。我想防止这种哔哔声,甚至可以防止我的应用程序发出哔哔声的所有情况,如果可以实现的话。

我已经熟悉如何使用MaxLength模仿Substring并重置插入符号,但在此特定情况下,替换MaxLength不是一种选择。

重现:

  1. 在Visual Studio中,在设计模式下,将文本框拖到新表单上。
  2. 按原样使用以下内容:
  3. 代码:

    Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            TextBox1.MaxLength = 5
        End Sub
        Private Sub TextBox1_keypress(keyascii As Integer)
            If len(TextBox1.text) = 5 Then
                keyascii = 0
            End If
        End Sub
    End Class
    

    以上是对我在网上遇到但没有效果的例子的改编。

1 个答案:

答案 0 :(得分:1)

测试一下:

Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    If Not e.KeyChar.Equals(ControlChars.Back) Then
        If Me.TextBox1.TextLength = Me.TextBox1.MaxLength Then
            e.Handled = True
        End If
    End If
End Sub