难道都是keys.enter
怎么区分啊

解决方案 »

  1.   

    ACII里好像没有大写回车键值把,有大小写区分的只有26个字母
      

  2.   

    键事件按下列顺序发生: KeyDown KeyPress KeyUp 非字符键不会引发 KeyPress 事件;但非字符键却可以引发 KeyDown 和 KeyUp 事件。使用 KeyChar 属性在运行时对键击进行取样,并且使用或修改公共键击的子集。
    =================
    非字符键不会引发 KeyPress 事件吗。那大键盘回车算么。为什么我试了下可以处理啊
      

  3.   

    你试试, override 下wndproc, 在里面加加一行:
    Console.WriteLine(m.ToString());然后分别按下两个回车, 看看输出有什么区别没有。如果是winform程序, 没有从命令行起来的话, 
    会打印到vs的输出窗口去。
      

  4.   

    参考如下代码:
    public class KeyFilter : IMessageFilter
    {
        #region IMessageFilter Members
        const int WM_KEYDOWN = 0x0100;
        const int VK_RETURN = 13;
        private Form parent;
        public KeyFilter(Form parent)
        {
            this.parent = parent;
        }    public bool PreFilterMessage(ref Message m)
        {
            switch (m.Msg)
            {
                case WM_KEYDOWN:
                    if (VK_RETURN != ((int)m.WParam & 0xff)) return false;
                    if (!(parent.ActiveControl is TextBox)) return false;
                    if (((int)m.LParam & 0x1000000) != 0)
                    {
                        MessageBox.Show("小键盘回车");
                        SendKeys.Send("{TAB}");
                        return true; // 过滤
                    }
                    else
                    {
                        MessageBox.Show("大键盘回车");
                    }
                    break;
            }
            return false;
        }
        #endregion
    }private void Form1_Load(object sender, EventArgs e)
    {
        Application.AddMessageFilter(new KeyFilter(this));
    }
    代码都给出了,楼主你能不能动手试试
      

  5.   

    LZ是在说键盘中间的回车键和小键盘数字键右边的回车键
    不是大写状态和小写状态的回车键如果用ASCII码,是没办法区分的
    其他办法应该有的
    学习中……
      

  6.   

    ASCII码是一样的  怎么分??