C#,你以为你的智商过人?玩什么飞机,真想踹你两脚!!

wufanglu 2010-06-18 04:32:15
//常用ascii码
//48 57 65 90 97 122 27 08 32 33 45 126
//0 9 A Z a z es bs ! - ~

想获取按键如果是一般性文本(即在 [!]到[~]之间的ascii码之间,或在 [0]到[z]之间)进行相关处理,
看到KeyDown.KeyEventArgs出来的结果令人望而却步。

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
Text = string.Format("{0} {1} {2} {3}", e.KeyCode, e.KeyData.ToString(), (int)e.KeyData, e.KeyValue);
//if(e.KeyValue>=33 && e.KeyValue <=126) DoSomething();
}

e.KeyData、e.KeyCode、e.KeyValue //这些是啥玩意儿?我要取的就是字符“1”, 或者是ascii码“49”
字符区的“1”显示为“D1” //打屁多事
小键盘的“1”显示为“NumPad1”。且其KeyValue等于97,即“a”的ascii码,这不就是混帐嘛!!

字符区的“-”显示为“(Oem啥的)”
小键盘的“-”显示为“(一串字母,减号的英文名)”


在下贴看到空军先生是另用消息循环来玩这飞机的:
http://topic.csdn.net/u/20070911/16/a1d714c6-0914-41d4-9301-495783ed359e.html?seed=521543502&r=55759696#r_55759696
...全文
325 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
jing8873 2010-06-23
  • 打赏
  • 举报
回复
汗,不懂
ztenv 2010-06-21
  • 打赏
  • 举报
回复
又是一悲剧,中国式的教育把人都教傻了;
不知道是哪位书先生误人子弟了!!!!!!
可悲!

可叹!!!!!!!!!!!!!
波导终结者 2010-06-21
  • 打赏
  • 举报
回复
写过改键器的表示无压力
wufanglu 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 leavemaple 的回复:]

LZ上分22。。。

这吉利的数字

两个2。。
[/Quote]
这2分是给你的,祝你天天开心 ^_^
wufanglu 2010-06-19
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 liuhongwei90 的回复:]
//if(e.KeyValue>=33 && e.KeyValue <=126) DoSomething();
代码还能这的写??
哎。。 规范!!
[/Quote]

//你的意思是??
if((e.KeyValue >= 33) && (e.KeyValue <= 126))
{
DoSomething();
}



//>>引用13楼 # Sandy945 # (阿非 (艰难困苦,玉汝于成!))
//>>if(e.KeyData.ToString()>='0' && e.KeyData.ToString() <='z') DoSomething();
//>>强大
//这是写给你们看的,精简、清晰,能让你们看得懂就是了,编译器是不能通过的。

马老虎 2010-06-18
  • 打赏
  • 举报
回复
不明真相的 老虎路过。。。。
liuhongwei90 2010-06-18
  • 打赏
  • 举报
回复
//if(e.KeyValue>=33 && e.KeyValue <=126) DoSomething();
代码还能这的写??
哎。。 规范!!
ckl881003 2010-06-18
  • 打赏
  • 举报
回复
围观火星人~
xqcylsz 2010-06-18
  • 打赏
  • 举报
回复
围观群众 围观ING
leavemaple 2010-06-18
  • 打赏
  • 举报
回复
LZ上分22。。。

这吉利的数字

两个2。。
wiki14 2010-06-18
  • 打赏
  • 举报
回复
....
阿非 2010-06-18
  • 打赏
  • 举报
回复
//if(e.KeyData.ToString()>='0' && e.KeyData.ToString() <='z') DoSomething();


强大
teerhu 2010-06-18
  • 打赏
  • 举报
回复
那樓主覺得飛機好玩嗎?
wufanglu 2010-06-18
  • 打赏
  • 举报
回复
用KeyPress,搞定
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
//
Text = string.Format("{0} {1}", e.KeyChar, (int)e.KeyChar);
}
wanghui0380 2010-06-18
  • 打赏
  • 举报
回复
额,路过。顺便给lz递手纸

话说日本一老兄没带手纸上twitter发条消息,5分钟手纸就送到了。lz真应该学学来着
wufanglu 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 viena 的回复:]

LZ是火星人吧?来地球最要使用地球的语言和思维方式
[/Quote]
冰封30年出来才惊叹,大家上大号不用草纸呀?

//言归正传,我就是想实现下面的功能,调用 DoSomething()
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
Text = string.Format("{0} {1} {2} {3}", e.KeyCode, e.KeyData.ToString(), (int)e.KeyData, e.KeyValue); //出来的是啥东东呀!! 没一个是我需要的。
//if(e.KeyValue>=33 && e.KeyValue <=126) DoSomething();
//if(e.KeyData.ToString()>='0' && e.KeyData.ToString() <='z') DoSomething();
}
viena 2010-06-18
  • 打赏
  • 举报
回复
LZ是火星人吧?来地球最要使用地球的语言和思维方式
wufanglu 2010-06-18
  • 打赏
  • 举报
回复
内容改为:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
Text = string.Format("{0} {1} {2} {3}", e.KeyCode, e.KeyData.ToString(), (int)e.KeyData, e.KeyValue); //出来的是啥东东呀!! 没一个是我需要的。
//if(e.KeyValue>=33 && e.KeyValue <=126) DoSomething();
//if(e.KeyData.ToString()>='0' && e.KeyData.ToString() <='z') DoSomething();
}

kolosi 2010-06-18
  • 打赏
  • 举报
回复
要是让你看看银行的键盘,估计你就该哭了。
kolosi 2010-06-18
  • 打赏
  • 举报
回复
lz你搞错了,你得先清楚键码和ASCII码的区别,在键盘上,不是说你按了哪个键,就会出现哪个ASCII码的。。

另外ASCII是显示用,给文本用的编码,不是键盘的键码。。。
加载更多回复(2)

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧