2 ivwsdnvpynn ivwsdnvpynn 于 2013.09.14 11:57 提问

C# 注册了一个快捷键Ctrl+一个数字键事件,只有同时按下才触发相应事件问题

Blockquote

C# 注册了一个快捷键Ctrl+一个数字键事件,如Ctrl+7,只有同时按下才触发响应事件,如果第一次同时按下Ctrl+7,事件触发了,Ctrl不放,再次按7,事件不触发,部分代码如下:

   _favKey = hotkeyHelper.RegisterHotkey(Keys.D7, HotkeyHelper.KeyFlags.MOD_CONTROL);   //按键注册

hotkeyHelper.OnHotkey += OnHotkey;//全部注册事件的响应事件

//这是事件的注册方法
public int RegisterHotkey(Keys Key, KeyFlags keyflags)
{
    UInt32 hotkeyid = GlobalAddAtom(Guid.NewGuid().ToString());
    RegisterHotKey(hWnd, hotkeyid, (UInt32)keyflags, (UInt32)Key);
    keyIDs.Add(hotkeyid, hotkeyid);
    return (int)hotkeyid;
}

    //这是响应的方法
     private void OnHotkey(int hotkeyID)
            {
                if (hotkeyID == _favKey)//复制倒计时间
                {

                }
             }

希望帮忙一下指出问题所在,谢谢

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
js 按Ctrl+Enter触发操作
$('textarea').on('click',function (){ if (event.ctrlKey && event.keyCode == 13) { alert("发送"); } });
[vb6.0] 快捷键触发事件
Private Sub Form_Load()     '//激活按键事件     Me.KeyPreview = True End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)     If KeyCode = vbKeyD And Shift = 2 Then 'CTRL+D        
如何准确判断按下的是组合键,只允许输入数字键等
不是所有的组合键winform都支持,winform目前只支持ctrl、alt,shift等组合键,并且只有KeyDown和KeyUp事件才能获取到组合键信息。代码如下: private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.Modifiers == Keys.Alt
编程实现Ctrl+A或V==是否被按下
private void lvBookmarks_KeyPress(object sender, KeyPressEventArgs e) { if ((Control.ModifierKeys & Keys.Control) == Keys.Control) { #region 全选ListView控
多个复选框中选择2个后触发
function point(form){var s = 0; for (var i=0; i var e = form.elements[i];  if (e.type == checkbox){   if(e.checked) s++;  } } if(s == 2){  alert(I submit ,U ok now? );  //form.submit();  递交当前thi
android 实现一个按钮按下时总触发一个事件
一.简单的思路为:生产者+消费者模式来实现 1.重写这个对象的触摸事件(对触摸事件与事件分发机制的同学不了解的可以查阅其他资料) 2.在MotionEvent.ACTION_DOWN:事件中启动一个线程,这个线程类似生产者,它不停的生产想要的事件 这里的事件为了调用的顺序,建议采用队列的方式来缓存,事件对象可任意 3.在MptionEvent.ACTION_UP:事件中取消这个线程,取消线
多选就是在事件触发时判断下某个键是否被按下
原理:         在该点击事件触发的时候,判断是否按下了CTRL键(或别的指定的键)。 细节:         判断event.keyCode的值是否为ctrl         或者event.ctrlKey的值,为真即按下
判断集合从属关系的练习: 是否同时按下了 Ctrl 和 Shift 键
//不少鼠标与键盘事件用到了集合参数: Shift: TShiftState; TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble, ssTouch, ssPen); {判断是否按下了 Ctrl 键: 方法一} procedure TForm1.FormMouseMove(Sende
WPF中判断键盘按下Ctrl+Z的判断方法
if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control&& e.Key==Key.Z)             {               ///                             }
C# 键盘响应事件及键值对照表
键盘响应事件总结键盘响应事件是在用户按下某个键后触发的事件,可以是任意操作,但不是任意键都可以被捕获的。 原型:public event KeyPressEventHandler KeyPress MSDN说明:键事件按以下顺序发生: 1.KeyDown 2.KeyPress 3.KeyUp KeyPress 事件不能由非字符键引发;但是非字符键能够引发 Key