private void hotkeyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs ce) { var entry = config.GlobalHotkeys[hotkeyGridView.CurrentCell.RowIndex]; switch (hotkeyGridView.CurrentCell.ColumnIndex) { case 1: keyboardHook.DisableHotKeys(); KeyEventHandler keyHandler = (o, e) => { e.SuppressKeyPress = true; var key = Util.RemoveModifiers(e.KeyCode, e.Modifiers); entry.Modifiers = e.Modifiers; entry.Key = key; ce.Control.Text = Util.GetHotkeyString(entry.Modifiers, entry.Key); }; ce.Control.KeyDown += keyHandler; ce.Control.LostFocus += (o, e) => { ce.Control.KeyDown -= keyHandler; }; ce.Control.Disposed += (o, e) => { keyboardHook.EnableHotKeys(); }; ce.Control.BackColor = SystemColors.ControlLightLight; break; } }
private void textGlobalHotkey_Enter(object sender, EventArgs e) { keyboardHook.DisableHotKeys(); }