检测是否按下了ASCII控制字符(C#) [英] Detecting if ASCII Control Characters are pressed (C#)

查看:249
本文介绍了检测是否按下了ASCII控制字符(C#)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种方法来检测是否按下了ASCII控制字符。我怀疑这里显示的代码工作效果不太好。

展开 | 选择 | Wrap | 行号

解决方案

ASCII控制字符例如ASCII 05查询或ASCII 23传输结束块。 ??


如果有人输入其中一个?


ASCII 05是Ctrl + E而ASCII 23是Ctrl + W,如< a rel =nofollowhref =http://nemesis.lonestar.org/reference/telecom/codes/ascii.html\"target =_ blank> http://nemesis.lonestar.org/referenc...des /ascii.html 。


我想找到一种更优雅的方法,而不是像这样手动定义每个块:

展开 | 选择 | Wrap | 行号


你觉得这个逻辑怎么样? (suedo代码,你可以冲出来)


按键上


如果按下控制键

{

切换e.KeyData

{

案例E

...

案例W

...

案例R

...

}

else

{

//没有控制键所以我们不在乎

}

}

I am seeking a method to detect if ASCII Control Characters are pressed. My code currently shown here is not working too well i suspect.

Expand|Select|Wrap|Line Numbers

解决方案

"ASCII control characters" such as an ASCII 05 "Enquiry", or an ASCII 23 "End of transmission block" ??

How would someone type one of these?


ASCII 05 is Ctrl+E and ASCII 23 is Ctrl+W as seen from http://nemesis.lonestar.org/referenc...des/ascii.html.

I would like to find a more elegant way to do this rather than manually defining each block like this :

Expand|Select|Wrap|Line Numbers


How do you feel about this logic? (suedo code, you can flush out)

On keypress

if control key pressed
{
switch e.KeyData
{
Case E
...
Case W
...
Case R
...
}
else
{
// No control key so we don''t care
}
}


这篇关于检测是否按下了ASCII控制字符(C#)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆