标题:[求助]不能输入中文
只看楼主
低级编程者
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2006-4-9
 问题点数:0 回复次数:8 
[求助]不能输入中文

在textBox中控制不能输入中文,
只能输入字母或数字,在C#中如何实现啊?

搜索更多相关主题的帖子: 中文 输入 数字 textBox 
2006-12-08 10:20
shenba
Rank: 1
等 级:新手上路
威 望:1
帖 子:179
专家分:0
注 册:2006-9-17
得分:0 

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;
}

}


2006-12-08 11:36
低级编程者
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2006-4-9
得分:0 
还是可以输入中文的啊

知道爱的美妙,才会如此渴望去拥有!
2006-12-08 12:16
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
得分:0 
2005好像可以关闭输入法的。

[bc09] 犯强汉者,虽远比诛!
2006-12-08 12:25
shenba
Rank: 1
等 级:新手上路
威 望:1
帖 子:179
专家分:0
注 册:2006-9-17
得分:0 
以下是引用低级编程者在2006-12-8 12:16:51的发言:
还是可以输入中文的啊

没问题啊 我机子上试 不能输入中文啊


2006-12-09 22:30
低级编程者
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2006-4-9
得分:0 
你是2003的吗?

知道爱的美妙,才会如此渴望去拥有!
2006-12-12 10:12
低级编程者
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2006-4-9
得分:0 
````不过,关闭输入法还是可以了````

知道爱的美妙,才会如此渴望去拥有!
2006-12-12 10:12
jackey163
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2005-7-21
得分:0 

其实属性设置只能设置默认的输入法,可以临时手动改的,
textBox1_KeyPress 也是办法,但是意义不大

人家可以复制粘贴的, 一样可以,

建议:1.textBox1_TextChanged,输入后的字符S1-输入前的字符S2,判断S1-S2是什么字符, 如果是汉字就替换成S1.
2.离开后判断如果有汉字 就提示用户,比如把textbox底色变红等等


.net 方面可以交流下 MSN:jackeyhuang123@
2006-12-12 11:09
低级编程者
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2006-4-9
得分:0 

是否可以把你的代码贴上来,给大家一起分享呢?


知道爱的美妙,才会如此渴望去拥有!
2006-12-13 17:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-108046-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.418185 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved