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这个量?俺想问的是有没有此类函数? 如果没有,该咋办?

解决方案 »

  1.   

    没有现成的函数你可以把它转成大小(或者小写,以使它与KEYCODE对上)然后一个个比较
      

  2.   

    说个思路:
    第一步,对字符串中每个字母做个循环,
    2,全部转化为大写
    3,强制类型转换转换成int,
    4,讲上一步的值减掉24,
    这样就转换到了Virtual-Key Codes。string str = "ABc";
    str = str.ToUpper();
    foreach(char c in str)
    {
         int virtualCode =  (int)c -24;
    }
      

  3.   

    string str = "abc";
                byte[] b= System.Text.Encoding.Default.GetBytes(str);
      

  4.   

    也不复杂,自己写个函数就行;
    可以把Virtual-Key Codes做成一个枚举或者结构体;
    做个字符串转Virtual-Key Codes的函数就行了
      

  5.   

    string str = "ABc";
    str = str.ToUpper();
    foreach(char c in str)
    {
       if(c>="A" && c<="F")     
       {
           int virtualCode =  (int)c -24;
           //... ...处理...
       }
    }
    接1分