如何防止写,'在表单文本框VB.Net?

时间:2017-10-26 04:55:01

标签: vb.net

我想阻止用户在我的表单文本框中编写/放置'(单引号)或,(逗号)?

我已经尝试过:

If Asc(e.KeyChar) = 188 Or Asc(e.KeyChar) = 222 Then
    e.Handled = True
End If

但是徒劳无功。

1 个答案:

答案 0 :(得分:3)

它不适合你的原因是错误的字符代码。
ASCII码如下:

  • 单引号' = 39
  • 逗号, = 44

如果您将代码更改为此代码,则可以使用:

If Asc(e.KeyChar) = 39 Or Asc(e.KeyChar) = 44 Then
    e.Handled = True
End If

注意: copy& ,'的粘贴仍然有效。

如果你想禁用copy&完全粘贴文本框,您可以将ShortcutsEnabled - 属性设置为False

如果你不想禁用复制和放大粘贴,你可以另外检查Validating - 事件中的文本框内容,并用空字符串替换逗号和sing qoute:

Private Sub TextBox1_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
    TextBox1.Text = TextBox1.Text.Replace(",", "").Replace("'", "")
End Sub