Windows. Форма не запускает keyDown событие

private void screensaverWindow_Load(object sender, System.EventArgs e)
{            
    this.BringToFront();            
    this.Focus();
    this.KeyPreview = true;
    this.KeyDown += new KeyEventHandler(onkeyDown);            
}        

onKeyDown() никогда не называется. Какая-либо идея, почему?

Править: Это работает в режиме выпуска!? Я предполагаю, что это должен быть отладчик Visual Studio, вмешивающийся где-нибудь

16
задан Abhishek 28 April 2017 в 08:43
поделиться

2 ответа

Мне кажется, работает:

public Form1()
{
    InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
    this.BringToFront();
    this.Focus();
    this.KeyPreview = true;
    this.KeyDown += new KeyEventHandler(Form1_KeyDown);
}

void Form1_KeyDown(object sender, KeyEventArgs e)
{
    Console.WriteLine("test");
}

Есть ли в вашей форме какие-либо дочерние элементы управления ?

12
ответ дан 30 November 2019 в 15:09
поделиться

Как насчет меню, у вас есть меню с определенными клавишами быстрого доступа? У меня возникла проблема, из-за которой скрытое контекстное меню фактически проглатывало цетиновые ключи и не передавало их ни одному из ключевых событий формы

1
ответ дан 30 November 2019 в 15:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: