仅限英语字符

siv*_*iva 7 c# winforms

我有一个带有一些编辑框的Winform.

表格也可以用其他语言加载,比如中文!要求是某些文本框只能接受英文字符示例当用户在Tex框1中键入时,它应该是英文的,如果他在文本框2和3中键入它应该是中文?

有可能做这样的事情!

Rei*_*ien 4

是的,这当然有可能。您可以添加一个验证事件处理程序来检查字符。<您可以有一个允许字符的字典,或者如果您将字符限制为某种编码(可能是 UTF-8),则可以使用和将该字符与一系列字符进行比较>

更具体地说:您可以处理该KeyPress事件。如果e.KeyChar无效,则设置e.Handledtrue

尝试这个:

private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if (System.Text.Encoding.UTF8.GetByteCount(new char[] { e.KeyChar }) > 1)
    {
        e.Handled = true;
    }
}
Run Code Online (Sandbox Code Playgroud)