C#_フォーム間での値受け渡し

getter 、setter を使用する。
右辺にくれば get 左辺にくれば set

※コードは、Form2 form2 = new Form2() など色々略。

Form1 で Form2 にて設定した値を受け取る

プログラムの流れは、Form2 で設定 → Form1 で受け取り。

Form1

string getName = form2.name_;
//getName の中身は Alice

 

Form2

public string name_ { get;  set; }

private void button1_Click(object sender, EventArgs e)
{
    name_ = "Alice";
}

 

Form1 で設定した値を Form2 に渡す

プログラムの流れは、Form1 で設定 → Form2 で受け取り。

Form1

form2.name_ = "Bess";

 

Form2

MessageBox.Show(name_);
//name_ の中身は Bess

public string name_ { get;  set; }
により、
form2.name_ = "Bess";
で既に Form2 の name_ に Bess が代入されてる。

 

Form1get はしたいが、 set は禁止したい場合

private を追加し、 get のみにする。

Form2

private string nameP_;
public string name_
{
    get { return nameP_; }
}

private void button1_Click(object sender, EventArgs e)
{
    nameP_ = "Alice";
}

Form1 では、
string getName = form2.name_;
で取得できるが、
form2.name_ = "Bess";
と書くと
「読み取り専用であるため、割り当てることが出来ません」と
コンパイルエラー。

 

以上。