怎样按键盘触发事件?比如按F7触发事件

解决方案 »

  1.   

    在winform中添加键盘keydown事件
    this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);添加如以下的处理代码。
    private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    MessageBox.Show(e.KeyData.ToString());//改为自己的按键处理代码。
    e.Handled = true;
    }
      

  2.   

    你是winform还是webform?
    还有你是要在哪个控件上触发事件?
      

  3.   

    还是用钩子函数吧//            if ((event.ctrlKey)&&(event.keyCode==78))//屏蔽 Ctrl+n 
    //            {   
    //             event.returnValue=false; 
    //            }
      

  4.   

    KeyDown事件
    不过自己手动输入xxx_KeyDown(...)的话没有用,在
    #region Windows フォーム デザイナで生成されたコード
    #endregion
    之间有关于控件的事件委托的代码,一般是系统自己生成的,如果自己手动输入xxx_KeyDown(...)的话,就得自己加了.至于怎么加,参照一下其他代码.还有就是,有的控件有一个属性:好象叫AutoPostBack,改成TRUE.
      

  5.   

    对ivorstar(单击此处留言)的发言补充一下:
    使用KeyDown捕获窗体的按键,需要将窗口的KeyPreview属性设为True。
    KeyPreview属性的默认值是False。
      

  6.   

    this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);这句是加到 private void InitializeComponent()函数体里了吗?
    奇怪你的为啥不行呢,我的就可以啊。to xldlm(xldlm)
    AutoPostBack 好像是web控件的属性吧,winform里没有这个东西的。
      

  7.   

    把窗体的KeyPreview设为True
    在窗体的KeyDown事件写如下代码private void Form9_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    if(e.KeyCode==Keys.F7)
    {
    //代码
    }
    }