C#でフォーム間で値を渡す方法
C# では、次の方法でフォーム間で値を渡すことができます。
- コンストラクタで値を渡す:2番目のウインドウのコンストラクタに、2番目のウインドウに渡す値を引数として追加する。1番目のウインドウで2番目のウインドウを作成する際に、値をコンストラクタに渡してあげる。
- 第一ウィンドウ:
- SecondForm secondForm = new SecondForm(value);
secondForm.ShowDialog(); - 2番目のフォーム
- パブリックメソッド SecondForm(string value)
{
InitializeComponent();
// 引数valueを使って処理を実行する
} - プロパティによる値の受け渡し:2番目のフォームで値を渡すためのパブリックプロパティを作成。1番目のフォームで2番目のフォームを作成後、そのプロパティで渡す値を設定。
- 最初のフォーム:
- SecondForm secondForm = new SecondForm();
secondForm.Value = value;
secondForm.Show(); - 2番目のウィンドウ
- public string Value { get; set; }public SecondForm()
{
InitializeComponent();
// 渡された値を使用する処理
} - 静的変数を使って値を受け渡す:1つ目のフォームで値を保持する静的変数を設定します。2つ目のフォームでは、静的変数から直接値を取得します。
- 最初のフォーム
- public static string Value { get; set; }SecondForm secondForm = new SecondForm();
Value = value;
secondForm.Show(); - 2つ目のフォーム:
- public SecondForm() {
InitializeComponent();
// 使用靜態変数Valueを処理します
}
C#で2つのフォーム間で値を渡す方法として一般的に使用される3つの方法を説明しました。各状況に応じて適切な方法を選択してください。