private const int KEY_A = 0x41;
private const int KEY_B = 0x42;
private const int KEY_C = 0x43;
private const int KEY_D = 0x44;
private const int KEY_E = 0x45;
private const int KEY_F = 0x46;以上是字母A到字母F的Virtual-Key Codes,我现在有一个字符串 string str="cba";如何将字符串中的每个字母转换成Virtual-Key Codes?或者就是说,如何遇到字母a,程序能够返回KEY_A这个量?俺想问的是有没有此类函数? 如果没有,该咋办?
private const int KEY_B = 0x42;
private const int KEY_C = 0x43;
private const int KEY_D = 0x44;
private const int KEY_E = 0x45;
private const int KEY_F = 0x46;以上是字母A到字母F的Virtual-Key Codes,我现在有一个字符串 string str="cba";如何将字符串中的每个字母转换成Virtual-Key Codes?或者就是说,如何遇到字母a,程序能够返回KEY_A这个量?俺想问的是有没有此类函数? 如果没有,该咋办?
解决方案 »
- 关闭浏览器session变为空的问题
- 求C#高手
- WPF RichTextBox添加内容
- c#如何使用exchange2007发送邮件
- [Win]水晶报表的详情 如何横向显示,并换行
- NHibernate 这个表关系Mapping和类怎么写
- 请问:一条记录,放在数据库里效率高?还是放在XML里效率高?
- 求教水晶报表问题?Load report failed
- 网络高手看过来!
- 怎么做一个类似查找替换框这样的窗体
- 双击窗体标题栏,使整个窗体缩成只剩下标题栏
- 问两个很基础的问题,C#里能不能用tamplate<>?怎样写?能用operator重载的操作符又有哪些?怎样写?(比如说重载operator|)
第一步,对字符串中每个字母做个循环,
2,全部转化为大写
3,强制类型转换转换成int,
4,讲上一步的值减掉24,
这样就转换到了Virtual-Key Codes。string str = "ABc";
str = str.ToUpper();
foreach(char c in str)
{
int virtualCode = (int)c -24;
}
byte[] b= System.Text.Encoding.Default.GetBytes(str);
可以把Virtual-Key Codes做成一个枚举或者结构体;
做个字符串转Virtual-Key Codes的函数就行了
str = str.ToUpper();
foreach(char c in str)
{
if(c>="A" && c<="F")
{
int virtualCode = (int)c -24;
//... ...处理...
}
}
接1分