C# でボタンを使用してフォームを開く

Syed Hassan Sabeeh Kazmi 2023年10月12日
  1. Form.Show() メソッドを使用して、C# でボタンを使用して新しいフォームを開く
  2. Form.ShowDialog() メソッドを使用して、C# でボタンを使用して新しいフォームを開く
C# でボタンを使用してフォームを開く

このチュートリアルでは、C# でアプリケーションを開発するときに、ボタンを使用してフォームにアクセスする方法について説明します。

Form.Show() メソッドを使用して、C# でボタンを使用して新しいフォームを開く

System.Windows.Forms 名前空間に属し、新しいフォームをユーザーに表示または表示します。 非モーダル フォームでのみ機能し、それらを効率的に表示、表示、または制御できます。

このメソッドを呼び出す前に、その Owner プロパティを owner に設定して、新しいフォームがこのプロパティにアクセスして所有フォームに関する情報を取得できるようにする必要があります。 Visible プロパティを true に設定すると、新しいフォームが表示されます。

アクティブなフォームのクラスから新しいオブジェクトを作成して、オブジェクトとしてインスタンス化する必要があります。 このインスタンス化されたオブジェクトを使用して Show() メソッドを呼び出すと、新しいフォームにアクセスできます。

コード - Form1.cs:

using System;
using System.Windows.Forms;

namespace openFormfromClickEvent {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e) {
      // create an object of `Form2` form in the current form
      Form2 f2 = new Form2();

      // hide the current form
      this.Hide();

      // use the `Show()` method to access the new non-modal form
      f2.Show();
    }
  }
}

出力:

csharp で form.show() メソッドを使用してフォームを開く

ボタンを使用して別のフォームにアクセスすると、必要に応じてフォームを複製し、C# アプリケーションの基本的なワークフローを簡単かつ効果的にモーダル化できるため、複数の利点があります。 Winforms では、Click イベントを介してフォームを処理し、GUI を操作することで、アプリケーションを構築できます。

Form.ShowDialog() メソッドを使用して、C# でボタンを使用して新しいフォームを開く

Form.Show() メソッドと同様に、C# アプリケーションで新しいフォームをモデル ダイアログ ボックスとして開き、このダイアログ ボックスのすべてのアクションは DialogResult プロパティによって決定されます。

フォームの DialogResult プロパティは、プログラムで設定するか、モーダル フォームの列挙値をボタンの DigitalResult プロパティに割り当てることによって設定できます。 Form.ShowDialog() メソッドは、新しいモーダル フォームでアクションを処理する方法を決定するために使用できる値を返します。

モーダル ダイアログ ボックスは キャンセル に設定されているため、非モーダル フォームとは異なり、フォームが強制的に非表示になります。 フォームが使用されなくなったり、C# アプリケーションで必要とされなくなったりした場合、Close メソッドを使用するとフォームを閉じる代わりに非表示にできるため、Dispose メソッドが役立ちます。つまり、新しいインスタンスを作成せずにフォームを再び表示できます。 モーダルフォームの。

このメソッドは、現在アクティブなフォームがダイアログ ボックスまたはモーダル フォームの所有者 (親) になるため、コントロールのフォームをその親として指定しません。 このメソッドの所有者を指定する必要がある場合は、メソッドの Form.ShowDialog(IWin32Window) バージョンを使用します。これは、指定された所有者を持つモーダル ダイアログ ボックスとしてフォームを表示します。

コード - Form1.cs:

using System;
using System.Windows.Forms;

namespace openFormfromClickEvent {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e) {
      // create an object of `Form2` form in the current form
      Form2 f2 = new Form2();

      // hide the current form
      this.Hide();

      // use the `ShowDialog()` method to access the new modal form
      f2.ShowDialog();
    }
  }
}

出力:

csharp で form.showdialog() メソッドを使用してフォームを開く

アクティブなフォームを非表示にするには this.Hide() メソッドを使用し、フォームを閉じるには button_Click イベントで this.Close() メソッドを使用します。

C# アプリケーション開発者は、フォームでいくつかのアクションを実行するためのイベント処理について知っておく必要があります。 Visual Studio の C# プロジェクトの Form.cs [デザイン] には、フォーム要素の視覚的表現が含まれており、ダブルクリックすることで、デザイン要素は、コントロールから生成されたイベントを制御および応答するイベント ハンドラー メソッドを自動的に作成できます。 ボタン クリック イベントもその 1つです。

Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub

関連記事 - Csharp Button