我需要限制用户在文本框中输入特定数据。我的要求是: 1.第一个字符必须是小写字母b或h。 2.之后才接受信件。
我的代码只接受基于ascii等价物的字母,但不知道如何只限制第一个字母。
如果我可以限制用户编辑值,我也会接受根据选择的单选按钮输入该字母。
我相信这些也可以使用正则表达式完成,但对它们没有多少经验。
Private Sub txtSysName_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtSysName.KeyPress
If Asc(e.KeyChar) < 65 Or Asc(e.KeyChar) > 90 And Asc(e.KeyChar) < 97 Or Asc(e.KeyChar) > 122 Then
e.Handled = True
End If
End Sub
答案 0 :(得分:0)
如果不是b或h,您可以自动更改第一个字母。像这样:
If Not Left(TextBox.Text, 1) = "b" Or Not Left(TextBox.Text, 1) = "h" Then
TextBox.Text = Replace(Left(TextBox.Text, 1), "b")
End If
这将用&#39; b&#39;替换第一个字母。如果它不是b或h,但如果您愿意,可以轻松地显示错误消息。
答案 1 :(得分:0)
Per Chris&#39;建议,我用过这个,因为左边和替换功能不再像他们在vba 2010中的答案那样使用了。
If Not acro.Substring(1) = "u" Or Not acro.Substring(1) = "c" Then
txtAcro.Text = acro.Replace(acro.Substring(1), "u")
End If