Я сделал до захвата менеджера событий для захвата ввода.
Введите при запуске код ниже:
EventManager.RegisterClassHandler(typeof(Window), Keyboard.KeyUpEvent, new KeyEventHandler(PressedNumber), true);
Вкл. PressedNumber
метод: -
private void PressedNumber(object sender, KeyEventArgs e)
{
try
{
// Validate if allow to use Yes No e.g. if (allowListener) {}
var isLegit = e.Key == Key.Y || e.Key == Key.N;
if (isLegit)
{
if (e.Key == Key.Y)
{
// DO IF YES
}
else if (e.Key == Key.N)
{
// DO IF NO
}
}
}
catch (Exception ex)
{
string error = $"Error at pressed number event manager. Ex-{ex.Message}";
}
}
Если это ваше собственное диалоговое окно, вы также можете прослушивать событие нажатия клавиш при загрузке всплывающего окна.
- Для Windows форм вы можете обратиться к Обработка ввода с клавиатуры на уровне формы
- Для WPF вы можете обратиться к WPF KeyDown Обработчик событий