private void OverrideKey(object sender, KeyArgs args) { if (_dictOverrideKeys.ContainsKey(args.KeyCode)) { var newKeyCode = _dictOverrideKeys[args.KeyCode]; if (newKeyCode == null) { args.Cancel = true; } else { args.KeyCode = (int)newKeyCode; } } }
protected virtual void OnKeyChange(KeyArgs args) { if (args == null) { throw new ArgumentNullException("args"); } var keyChangeDelegate = KeyChange; if (keyChangeDelegate != null) { keyChangeDelegate(this, args); } var keyChangeAsyncDelegate = KeyChangeAsync; if (keyChangeAsyncDelegate != null) { Task.Factory.StartNew(() => keyChangeAsyncDelegate(this, args)); } }