|
分類:[C#]
お世話になっております。
Form1からForm2、Form3を表示させ、Form3で設定した値をForm2で使用しようとしています。
下記のようなコードで、Form3で入れた値は、Form1が終了するまで保持されるものなのでしょうか?
それとも、GCの対象となるのでしょうか?
(.NET2005 C#)
ご教授お願いします。
------------------------------
【Form1】
public partial class Form1 : Form
{
public Class1 c1 = new Class1();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.Show();
}
private void button2_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3(this);
f3.Show();
}
}
【Form2】
public partial class Form2 : Form
{
private Form1 manageForm;
public Form2(Form1 f1)
{
InitializeComponent();
manageForm = f1;
}
private void button1_Click(object sender, EventArgs e)
{
//値を取得
label1.Text = (manageForm.c1.classA.I).ToString();
}
}
【Form3】
public partial class Form3 : Form
{
public Form1 manageForm;
public Form3(Form1 f1)
{
InitializeComponent();
manageForm = f1;
}
private void button1_Click(object sender, EventArgs e)
{
//値を設定
manageForm.c1.classA.I = 145;
}
}
【Class1】
//値を保持するクラス
public class Class1
{
public ClassA classA = new ClassA();
public class ClassA
{
private int _i;
public int I
{
get { return _i; }
set { _i = value; }
}
}
}
|