如题!
或者如何获取alt键的消息

解决方案 »

  1.   

    响应Form.KeyDown事件:
    protected override void OnKeyDown (KeyEventArgs kevent)其中KeyEventArgs中包括了Alt属性,可以用于判断Alt键是否被按下。
      

  2.   

     private void Form1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyValue == 18)
                {
                        dosomething;
                }
            }
      

  3.   

    可能是我说的错了
    我是想屏蔽键盘上的一些功能键,大多是alt+的组合键
    象屏蔽鼠标左键消息一样
    public bool PreFilterMessage(ref System.Windows.Forms.Message SystemMessage )
    {
        if (SystemMessage.Msg>=513&&System.Msg<=515)
            {
              //不响应鼠标左键消息
                 return true;
            }
             return false;      ……
    }想屏蔽键盘的alt消息,但不知道对应的System.Msg的消息值……谁知道,请教下
      

  4.   

    重写
    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
                if ((Keys.Alt & keyData) == Keys.Alt)
                    return true;
                return ProcessCmdKey(ref msg, keyData);
            }
      

  5.   

    少写了个basereturn base.ProcessCmdKey(ref msg, keyData);
      

  6.   

    窗体的KeyPress或者KeyDown事件中判断是否按下的是alt键。
      

  7.   


    protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
            { 
                if ((Keys.Alt & keyData) == Keys.Alt) 
                    return true; 
                return base.ProcessCmdKey(ref msg, keyData); 
            }
      

  8.   

    private void Form1_KeyDown(object sender, KeyEventArgs e) 

      if (e.KeyValue == 18) 
      { 
         return;
      } 
    }