public override bool KeyDown(KeyEventArgs e) { if (e.Code == Keyboard.Key.T && !Focus) { Focus = true; ignoreFirstText = true; return(true); } if (!Focus) { return(false); } if (e.Code == Keyboard.Key.Escape) { Focus = false; return(true); } if (e.Code == Keyboard.Key.Up) { if (_inputIndex == -1 && _inputHistory.Any()) { _inputTemp = input.Text.ToString(); _inputIndex++; } else if (_inputIndex + 1 < _inputHistory.Count()) { _inputIndex++; } if (_inputIndex != -1) { input.Text = _inputHistory[_inputIndex]; } return(true); } if (e.Code == Keyboard.Key.Down) { if (_inputIndex == 0) { input.Text = _inputTemp; _inputTemp = ""; _inputIndex--; } else if (_inputIndex != -1) { _inputIndex--; input.Text = _inputHistory[_inputIndex]; } return(true); } return(input.KeyDown(e)); }
public override bool KeyDown(KeyEventArgs e) { if (!base.KeyDown(e)) { return(input.KeyDown(e)); } else { return(false); } }