类似按键盘的ctrl+s时为触发保存按钮事件? 谢谢

解决方案 »

  1.   

      protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
                if (keyData == (Keys.Alt|Keys.Q))
                {
                    查询ToolStripMenuItem_Click(null, null);
                    return true;
                }
             }
      

  2.   


    谢谢,但该代码有错误,该如何进行修改呢?
    出错提示:
    错误 1 “test.Form1.ProcessCmdKey(ref System.Windows.Forms.Message, System.Windows.Forms.Keys)”: 并非所有的代码路径都返回值 C:\Documents and Settings\Administrator\桌面\test\test\test\Form1.cs 19 33 test
      

  3.   

    谢谢大哥~~,我就是想在当前页使用ctrl+s来进行数据保存.
    请问该如何实现呢?
      

  4.   

            protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
                if (keyData == (Keys.Control | Keys.S))
                {
                    MessageBox.Show("执行数据保存操作");
                }
                return base.ProcessCmdKey(ref msg, keyData);
            }
      

  5.   

    刚才没弄好哦!  protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
                if (keyData == (Keys.Alt|Keys.Q))
                {
                    查询ToolStripMenuItem_Click(null, null);
                    return true;
                }
                return base.ProcessCmdKey(ref msg, keyData);
             }
      

  6.   

    楼主,按钮控件没有Ctrl+? 的直接方法,但有 Alt+?的方法;
    你在控件的 Text 属性里直接加:如button1(&S)
    Alt+s就实现了. 
      

  7.   


    //因为不怎么清楚重写的这个方法,所以只给出错误解决方法
    protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 

        if (keyData == (Keys.Alt ¦Keys.Q)) 
        { 
             查询ToolStripMenuItem_Click(null, null); 
             return true; 
        }
        else
        {
             return false;
        }
      

  8.   

    你在保存按钮的文本属性里(&s)
    按ALT+S即可快捷
      

  9.   

    ShortKey属性设置一下就可以了
      

  10.   

    加一个菜单项,Visible=false,方法写在点击时间中,ShortcutKey设置一下,就可以了按钮点击就模拟点按钮mnuSave.PerformClick();