0

選択に基づいて、Form1 から Form2 のデータグリッドとラベルの名前を変更しようとしています。

private void button1_Click_1(object sender, EventArgs e)
        {
            this.Hide();

            Form2 frm = new Form2();
            frm.Show();


        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();

            frm.dataGridView1.Columns["FirstName"].HeaderText = "Prenom";
            frm.dataGridView1.Columns["LastName"].HeaderText = "Nom";


            this.Hide();
            frm.Show();
        }

上記のアプローチは私にとってはうまく機能していますが、問題があります。X2 番目のフォーム 2をクリックすると、 ではForm2なく が閉じられForm1ます。をクリックしたときにすべてのアプリケーションを閉じるにはどうすればよいですかX

これを行うより良い方法はありますか?私が使用していない理由 Telerik を使用していますが、リソース ファイルを追加するオプションが見つかりません。私が間違っている場合は修正してください。ありがとうございました。

4

2 に答える 2

1

新しく作成されたフォームのイベントにイベントハンドラーをアタッチするだけClosedで、閉じたときにメインフォームが閉じます。

private void button1_Click_1(object sender, EventArgs e)
{
    this.Hide();

    Form2 frm = new Form2();
    frm.FormClosed += (_, args) => this.Close(); //Added this method
    frm.Show();
}

同じメソッドを他のクリックハンドラーにも追加します。

于 2012-10-12T20:07:49.403 に答える
0

アプリケーションを閉じる最も簡単な方法は、静的メソッドApplication.Exitを呼び出すことです。

1つのフォームのみを閉じたい場合の別の方法は、FormClosingイベントのハンドラーを追加し、そこでメインフォームを閉じることです。

于 2012-10-12T20:09:32.907 に答える