关于快捷键的问题,关于快捷键的问题
在写软件中,我用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的事件,进行处理