今回はC#のFromを切り替える処理について解説していきます。Formを切り替える際にどうすれば、いんだろうと悩んでる方、読んでみてください。その悩みが解決します。
Fromを2つ用意する
メインフォームのForm1と切り替え先のフォームのForm2を用意する。
Form1からForm2に切り替える処理を記載する(ApplicationContextクラス使用)
Visual C#で自動生成されたMAINメソッドを変更する。メインフォーム用の変数を作成し、Application.Runメソッドに設定する。Form1,2の切り替え処理を作成する。
public static ApplicationContext main_form; //1,メインフォーム用の変数
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//2,初めに生成されているコードをコメントアウトする
//Application.Run(new Form1());
//3,メインフォーム用の変数をApplication.Runの引数に設定
main_form = new ApplicationContext();
main_form.MainForm = new Form1();
Application.Run(main_form);
}
//4,Form1に切り替える処理
public static void Display_form1()
{
main_form.MainForm = new Form1();
main_form.MainForm.Show();
}
//5,Form1に切り替える処理
public static void Display_form2()
{
main_form.MainForm = new Form2();
main_form.MainForm.Show();
}
Form1、2ボタンをクリックしたときにFormを切り替える処理を作成する
Form1,2ボタンをクリックした時、Formを切り替える処理を実装する。切り替えた後、切り替える前のフォームを閉じる処理を実装する。
//6,Form1のボタンを押したとき、Form2を表示させる処理
private void form1_button_Click(object sender, EventArgs e)
{
Program.Display_form2();
this.Close(); //Form1を閉じる処理
}
//7,Form2のボタンを押したとき、Form1を表示させる処理
private void form2_button_Click(object sender, EventArgs e)
{
Program.Display_form1();
this.Close(); //Form2を閉じる処理
}
上記のようにコードを作製すれば、フォームを自由に切り替えることができます。以上、C#のFormをメインフォームから別のフォームに切り替える方法でした。