私には2つのフォームがあります。このコードを使用して 2 番目のフォームを示します。
Form2 f = new Form2();
f.ShowDialog();
フォーカスがいつメイン フォームに戻るかを理解する必要があります。イベントを試しActivate
ましたが、それだけではありません。
私には2つのフォームがあります。このコードを使用して 2 番目のフォームを示します。
Form2 f = new Form2();
f.ShowDialog();
フォーカスがいつメイン フォームに戻るかを理解する必要があります。イベントを試しActivate
ましたが、それだけではありません。
ShowDialog() の呼び出しが親フォームをブロックしています。
コードが ShowDialog() を終了すると、現在のフォームが再びアクティブになり、
例えば:
using(Form2 f = new Form2())
{
// At the moment of the call of ShowDialog, the Net Framework start its work to
// pass the focus to the first control in the Form2 instance
if(DialogResult.OK == f.ShowDialog())
{
// Form confirmed, do your stuff
}
}
// At the end of the using block the parent form is again the active form with the focus on
// the button that has started this process (or the last control that had focus)
入力するとき
Form2 f = new Form2();
f.ShowDialog();
Form2 インスタンスを手動で閉じるまで待機し、メイン フォームに戻ります。これは、ShowDialog() メソッドを使用した場合に発生します。
ほんの一瞬だけ別のフォームをポップアップしてメインフォームに戻りたい場合は、 formInstance.Show() メソッドを使用する必要があります。Show() メソッドは、2 番目のフォームが閉じられるのを待たず、すぐに実行され、Show() ステートメントの後の次のステートメントに制御を渡します。
ご理解いただけましたでしょうか。