在textBox中控制不能输入中文,
只能输入字母或数字,在C#中如何实现啊?
在textBox中控制不能输入中文,
只能输入字母或数字,在C#中如何实现啊?
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
int i1 = 0;
int i2 = 0;
int i3 = 0;
//先获得字符的二进制码
byte[] bytes = System.Text.Encoding.Default.GetBytes(new char[] { e.KeyChar});
i1=(short)bytes[0];
if (bytes.Length != 1)
{
i2 = (short)(bytes[1]);
i3 = 1;
}
else
{
i2 = 65536;
i3 = -1;
}
int charsc = i1 * 256+i2-65536;
if ((charsc <= 0 || charsc >= 160) && (i3 == 1))//输入汉字成立的条件
{
e.Handled = true;
}
}
其实属性设置只能设置默认的输入法,可以临时手动改的,
textBox1_KeyPress 也是办法,但是意义不大
人家可以复制粘贴的, 一样可以,
建议:1.textBox1_TextChanged,输入后的字符S1-输入前的字符S2,判断S1-S2是什么字符, 如果是汉字就替换成S1.
2.离开后判断如果有汉字 就提示用户,比如把textbox底色变红等等