获取键值的按键值容易,那如何获取键盘按下面去输入的是中文呢
我要,如果输入的是字母就获取字母,如果输入的是中文我就要获取中文.
KeyDown事件里面没有看到有获取最终值的方法

解决方案 »

  1.   

    文本框不好用.我要做一下输入查询的如表里面有一"CN-中国"用户输入CN记录,如果输入CN1就去掉1,输入CN-中就记住.也就是正确的记住,不正确的不要.文本框输入还要删除.这样麻烦
      

  2.   

    用KeyPress,不过在处理中文时有Bug,一个字会触发两次
    自己处理WM_CHAR可以解决
      

  3.   

    试试用ImmGetCompositionString这个API
      

  4.   

    如果是Key事件里面.接收不到中文.
      

  5.   

    你给文本框用 TextChanged事件 一有不正确的输入,你就截取正确的那一段就行.
    Private string validateString = "CN-中国";
    private void textBox1_TextChanged(object sender, EventArgs e)
            {
                string tempStr = textBox1.Text;
                if (!validateString.StartsWith(tempStr))
                {
                    for (int i = tempStr.Length - 2; i >= 0; i++)
                    {
                        string substring = tempStr.Substring(0, i);
                        if (validateString.StartsWith(substring))
                        {
                            textBox1.Text = substring;
                            break;
                        }
                        if (i == 0)
                        {
                            textBox1.Text = string.Empty;
                        }
                    }
                }
            }
      

  6.   

    不想采用TextBox控件,想直接选择那列,输入什么就定义到那行.