【C#】Formから別フォームを表示しメインフォームを切り替える

C#
開発の人気オンラインコース ウェブ開発の人気オンラインコース

この記事は約 2 分で読めます。

みなさんこんにちは!!

ヒロポンです!!

今回はC#のwinformのテクニックで、Formから別のFormを表示して、メインフォームを切り替えるような挙動にする方法を書いていきたいと思います!

目次

まずは適当にFormを用意する

まずはこんな感じで適当に三つほどFormを用意します

各Formで別Formを表示するときのコード

        private void button1_Click(object sender, EventArgs e)
        {
            var form = new Form2();
            this.Hide();

            if (form.ShowDialog() == DialogResult.Cancel)
            {
                this.Show();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {

            var form = new Form3();
            this.Hide();

            if (form.ShowDialog() == DialogResult.Cancel)
            {
                this.Show();
            }
        }

ボタンを押して別Formを表示した時のコードをこんな感じにします。

これは別Formのインスタンスを作ったと同時に、自身を隠す。

そして別フォームを一旦表示し、閉じられた際にDialogResule.Cancelが返るので、その値を受け取ったら自身を表示すると書いています。

Form2とForm3のコードはこんな感じ


namespace FormToForm
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var form = new Form3();
            this.Hide();

            if (form.ShowDialog() == DialogResult.Cancel)
            {
                this.Show();
            }
        }
    }
}
namespace FormToForm
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var form = new Form2();
            this.Hide();

            if (form.ShowDialog() == DialogResult.Cancel)
            {
                this.Show();
            }
        }
    }
}

実行するとこんな感じ!

これを実行すると下記のような感じになります。

Form1が表示されている状態でbutton1を押すと

こんな感じで、別のフォームが表示されたら、自身は閉じてから開くって感じの挙動になります。

今回のコードはgithubに置いています!

今回のコードはgithubにFormToFormという名前で置いています!

ローカルにクローンつくって是非試してみてください!

https://github.com/adaman3568/blog-source-demo

エンジニアならUdemyでしょ!!

知ってるけどまだ使ったことないって人は是非

管理人はこれでフリーランスになり現在は月単価110万円 + 副業という形で稼ぐことができました。

開発の人気オンラインコース ウェブ開発の人気オンラインコース

関連記事

特集記事

コメント

この記事へのコメントはありません。

CAPTCHA


TOP