日期:2014-05-17  浏览次数:20867 次

关于快捷键的问题,关于快捷键的问题
在写软件中,我用HotKey.RegisterHotKey(Handle, 100, HotKey.KeyModifiers.Ctrl, Keys.N);
注册了一个快捷键,结果当我打开其他软件时,按CTRL+N时,还是打开自己的软件的新增窗口,如何让我打开那个软件,哪个软件的快捷键才起作用。

------解决方案--------------------
在你自己的软件里把窗体的KeyPreview设置为true然后写KeyDown或PreviewKeyDown事件呢?
------解决方案--------------------
引用:
详细如何操作呢?不懂啊


在要操作的界面,双击keydown事件或者重载,下面是实现Ctrl+Z(R)

        protected override void OnKeyDown(KeyEventArgs e)
        {
            if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
            {
                if (e.KeyCode == Keys.Z)
                {
                    UnDo();
                }
                else if (e.KeyCode == Keys.R)
                {
                    ReDo();
                }
            }
            base.OnKeyDown(e);
        }

------解决方案--------------------
热键是全局的,对全局起作用,你应该也遇见过,登录QQ时,提示过热键冲突之类的,就是这个情况,而你所说的这种情况,是针对单个程序的,可以在窗体上,注册Key的事件,进行处理