Winformフォーム間の切り替え
Winform フォーム間の切り替えは、複数の方法で行うことができます。
- 表示する
- 隠される
// Form1.cs
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
this.Hide();
}
// Form2.cs
private void button1_Click(object sender, EventArgs e)
{
Form1 form1 = new Form1();
form1.Show();
this.Hide();
}
- 1つのフォームオブジェクトのみを使用する:フォームオブジェクトを作成し、切り替えが必要な場合は、フォームの内容やスタイルを修正することで切り替える。例えば、1つのフォーム内でTabControlコントロールまたはPanelコントロールを使用して、異なるページ間で切り替える。
// Form1.cs
private void button1_Click(object sender, EventArgs e)
{
tabControl1.SelectTab(0); // 切换到第一个页面
}
private void button2_Click(object sender, EventArgs e)
{
tabControl1.SelectTab(1); // 切换到第二个页面
}
// 或者
private void button1_Click(object sender, EventArgs e)
{
panel1.Visible = true; // 显示panel1
panel2.Visible = false; // 隐藏panel2
}
private void button2_Click(object sender, EventArgs e)
{
panel1.Visible = false; // 隐藏panel1
panel2.Visible = true; // 显示panel2
}
- MDIフォームを使う:MDI(複数ドキュメントインターフェイス)は、メインのウィンドウの中で複数のサブウィンドウを開き、管理する方法です。MDIフォームでは、メニューやツールバー、その他の方法で、サブウィンドウを切り替えることができます。MDIフォームを使うと、タブページのような効果を作ることができます。
// Form1.cs (MDI主窗体)
private void button1_Click(object sender, EventArgs e)
{
ChildForm1 form1 = new ChildForm1();
form1.MdiParent = this; // 设置子窗体的父窗体为当前窗体
form1.Show();
}
private void button2_Click(object sender, EventArgs e)
{
ChildForm2 form2 = new ChildForm2();
form2.MdiParent = this; // 设置子窗体的父窗体为当前窗体
form2.Show();
}
// ChildForm1.cs (MDI子窗体)
private void button1_Click(object sender, EventArgs e)
{
this.Close(); // 关闭当前子窗体
}
これらは3つの一般的な実現方法で、具体的なニーズに応じて適切な方法を選択して、Winformフォームの切り替えを実現してください。