TEXTBOX中怎么判断只能输入的是字母 TEXTBOX中怎么判断只能输入的是字母 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 方法一:private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e){ string s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + (char)8; if(s.IndexOf(e.KeyChar.ToString()) < 0) { e.Handled = true; }}同时给textBox1加一个空的ContextMenu,用来屏蔽右键菜单。 方法二:private string oldvalue = "";private void textBox1_TextChanged(object sender, System.EventArgs e){ string s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; for(int i = 0 ; i < textBox1.Text.Length ; i ++) { if(s.IndexOf(textBox1.Text[i]) < 0) { textBox1.Text = oldvalue; return; } } oldvalue = textBox1.Text;} 笨办法:去空格后截取最后一个字符,如果在A到z之间的,就为true,textBox1.Text的真就为oldvalue. 不用for也不用string,可以减少内存和cpu的开支。 private void button4_Click(object sender, System.EventArgs e) { //using System.Text.RegularExpressions; string str="23sd呜SDF呜95列gfwef随地56国GE嘎4"; MatchCollection ms=Regex.Matches(str,"[\u4e00-\u9fa5]"); string sss=null; for(int i=0;i { sss+=ms[i].Value; } MessageBox.Show(sss); if (Regex.IsMatch(str,"[0-9]"))//数字 MessageBox.Show("字符串中包含有数字"); if (Regex.IsMatch(str,"[a-z]"))//小写字母 MessageBox.Show("字符串中包含有小写字母"); if (Regex.IsMatch(str,"[A-Z]"))//大写字母 MessageBox.Show("字符串中包含有小写字母"); if (Regex.IsMatch(str,"[a-zA-Z]"))//所有字母 MessageBox.Show("字符串中包含有字母"); if (Regex.IsMatch(str,"[\u4e00-\u9fa5]"))//汉字 MessageBox.Show("字符串中包含有汉字"); } private void textBox1_KeyPress(object sender, System.EventArgs e){ if ((e.KeyChar < (char)'a' && e.KeyChar > (char)'z') && (e.KeyChar < (char)'A' && e.KeyChar > (char)'Z')) { e.KeyChar = 0; }}随手写的,可以用(char) '字母'的到ASCII码值,然后比较就行了。 .net和外部设备通信现在比较合适用什么方式 如何将多个窗体写成一个托盘菜单? 关于object类型的问题 用c#怎么响dos窗口执行 net stop... 一样 str.PadLeft(3, '0')为啥没有效果呢? NetworkStream反序列化怎样写? 程序为什么会在GUI线程中卡死 关于winForm的几个问题:属性访问域,继承 关于@@IDENTITY,紧急求助 像QQ和MSN这样的软件的服务段是怎么做的? 在c#中作了一个Excel插件,用到datagrid但是在office2003中不能显示,求教各位老大 请教多线程之间的读取问题,急!!!
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
string s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + (char)8;
if(s.IndexOf(e.KeyChar.ToString()) < 0)
{
e.Handled = true;
}
}
同时给textBox1加一个空的ContextMenu,用来屏蔽右键菜单。
private string oldvalue = "";
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
string s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
for(int i = 0 ; i < textBox1.Text.Length ; i ++)
{
if(s.IndexOf(textBox1.Text[i]) < 0)
{
textBox1.Text = oldvalue;
return;
}
}
oldvalue = textBox1.Text;
}
{
//using System.Text.RegularExpressions;
string str="23sd呜SDF呜95列gfwef随地56国GE嘎4";
MatchCollection ms=Regex.Matches(str,"[\u4e00-\u9fa5]");
string sss=null;
for(int i=0;i {
sss+=ms[i].Value;
}
MessageBox.Show(sss); if (Regex.IsMatch(str,"[0-9]"))//数字
MessageBox.Show("字符串中包含有数字");
if (Regex.IsMatch(str,"[a-z]"))//小写字母
MessageBox.Show("字符串中包含有小写字母");
if (Regex.IsMatch(str,"[A-Z]"))//大写字母
MessageBox.Show("字符串中包含有小写字母");
if (Regex.IsMatch(str,"[a-zA-Z]"))//所有字母
MessageBox.Show("字符串中包含有字母");
if (Regex.IsMatch(str,"[\u4e00-\u9fa5]"))//汉字
MessageBox.Show("字符串中包含有汉字");
}
{
if ((e.KeyChar < (char)'a' && e.KeyChar > (char)'z') &&
(e.KeyChar < (char)'A' && e.KeyChar > (char)'Z'))
{
e.KeyChar = 0;
}
}随手写的,可以用(char) '字母'的到ASCII码值,然后比较就行了。