WinForm フォームで値を渡す方法
Winform のウィンドウ間で値を渡すことは、次のような手法で行えます。
- コンストラクタ渡し:ウィンドウのコンストラクタに、受け取る値を指定するパラメータを追加し、ウィンドウのインスタンスを作成する際にパラメータを渡す。
例えば
public Form2(string value)
{
InitializeComponent();
this.value = value;
}
フォームインスタンスを作成するときに値を渡す。
Form2 form2 = new Form2("传递的值");
form2.Show();
- フォームクラスに値を受け取るための public プロパティを定義し、プロパティを介して値を渡します。
例えば…
public partial class Form2 : Form
{
public string Value { get; set; }
// 在需要的地方使用Value属性获取传递的值
}
値を渡す:
Form2 form2 = new Form2();
form2.Value = "传递的值";
form2.Show();
- フォームクラス内に静的変数を定義し、渡す値を格納して、他のフォームがその変数に直接アクセスできるようにする。
例えば:
public partial class Form2 : Form
{
public static string value;
// 在需要的地方使用value变量获取传递的值
}
値を渡す:
Form2.value = "传递的值";
Form2 form2 = new Form2();
form2.Show();
- イベントパッシング: ウィンドウにイベントを定義し、別のウィンドウがそのイベントを購読し、イベントハンドラメソッドで渡された値を取得する
たとえば、
public partial class Form2 : Form
{
public event Action<string> ValueChanged;
private void button1_Click(object sender, EventArgs e)
{
ValueChanged?.Invoke("传递的值");
}
}
他のフォームがイベントのサブスクリプションを作成する
Form2 form2 = new Form2();
form2.ValueChanged += Form2_ValueChanged;
private void Form2_ValueChanged(string value)
{
// 获取传递的值
}
これらはよく使われる、フォーム間の値の受け渡しの方法です。独自の要件に基づいて、適切な方法を選択して値を伝達できます。