Я нашел решение, которое, кажется, работает.
private void DeviceForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13 && tstxtDeviceFilter.Focused)
{
filterByDeviceSN();
}
}
Я не могу помочь, но думаю, что должен быть лучший способ!
- EDIT - EDIT - EDIT - EDIT - EDIT -
Ну, посмотрев на приведенные ниже предложения (спасибо), я нашел для меня «лучший» способ в этих обстоятельствах.
this.tstxtDeviceFilter.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tstxtDeviceFilter_KeyDown);
private void tstxtDeviceFilter_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
{
filterByDeviceSN();
}
}
Очевидно, что захватывая событие в самом текстовом поле, а не в форме, мне не нужно беспокоиться о фокусе. Я снова чувствую себя глупо, что так долго не думал об этом!