У меня есть форма с сеткой данных и кнопкой. Позже будет больше элементов управления.
Редактировать: у меня есть контекстное меню и меню.
Событие KeyDown формы не сработает, если у сетки данных нет фокуса. Если кнопка имеет фокус, она не срабатывает. Даже после загрузки формы, когда она имеет фокус, она все равно не будет запускать событие KeyDown.
Как убедиться, что событие KeyDown формы будет запускаться независимо от того, где находится фокус на форме?
Я гуглил и смотрел на другие вопросы, такие как
Windows.Form не запускает событие keyDown
но не могу понять это.
Событие загрузки формы:
private void Kasse_Load(object sender, EventArgs e)
{
this.BringToFront();
this.Focus();
this.KeyPreview = true;
}
Событие KeyDown формы:
private void Kasse_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Up:
try
{
e.Handled = true;
dataGridView1.Rows[dataGridView1.SelectedRows[0].Index - 1].Selected = true;
}
catch (Exception)
{
}
break;
case Keys.Down:
try
{
e.Handled = true;
dataGridView1.Rows[dataGridView1.SelectedRows[0].Index + 1].Selected = true;
}
catch (Exception)
{
}
break;
}
}