如何使它只能在VB中的文本框中输入字母和空格?

时间:2014-04-16 18:21:56

标签: vb.net

字母表中的所有字母。

是否可以自动将首字母大写?

我一直在将此代码用于其他程序,但它只允许您输入字母。我正在努力适应它。

Private Sub LettersOnly(ByRef Character As Char)
    ' Purpose: Validate character input: letters and control keys only
    If Char.IsLetter(Character) = False And Char.IsControl(Character) = False Then
        MessageBox.Show("Letters only.", "Validation Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        ' Stop invalid character appearing in field
        Character = Nothing
    End If
End Sub

2 个答案:

答案 0 :(得分:1)

假设Windows窗体,请尝试:

Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    If (Not Char.IsLetter(e.KeyChar) AndAlso e.KeyChar <> " "c) Then e.Handled = True
    If (DirectCast(sender, TextBox).Text.Length = 0) Then e.KeyChar = Char.ToUpper(e.KeyChar)
End Sub

答案 1 :(得分:0)

  1. 看看I only want letter to be accepted into the textbox on vb.net。它使用正则表达式进行验证。
  2. 查看FilteredTextBoxExtender。 (仅限ASP)
  3. 查看ASPX中的Field Validators。有正则表达式。 (仅限ASP)
  4. 请注意,如果您指的是Win或Web OFmrs。