※ ChatGPTを利用し、要約された質問です(原文:C#でKeyDownイベントが発生しない。)
C#でKeyDownイベントが発生しない
このQ&Aのポイント
C#でKeyDownイベントが発生しない問題について解説します。
Form1のボタン2を押すとForm2が開き、Form2を閉じるとForm1に戻る際にKeyDownイベントが発生しない問題が発生します。
Form1のどこかをクリックするとKeyDownイベントが発生するようになりますが、別のFormを開いて戻ってもKeyDownイベントを発生させる方法はありますか。
VS2010 CS.NET 環境です。
Formにボタンが2個あり。ボタン1はF1キー、ボタン2はF2キーで動作するようにしています。
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.F1: this.btn1.PerformClick();
break;
case Keys.F2: this.btn2.PerformClick();
break;
}
}
ボタン1は計算処理をします。
ボタン2は別のForm2を開きます。
ボタン1はF1キーで何度でも動作しますが、ボタン2はF2キーでForm2を開いて、それを閉じて元のForm1に戻ると次のF2キーではKeyDownイベントが発生しません。
この時はF1キーもKeyDownイベントが発生しなくなります。
Form1のどこかをクリックすると、KeyDownイベントが発生するようになります。
別Formを開いて戻ってもKeyDownイベントを発生させるにはどうしたらいいでしょうか?
よろしくお願いします。