[첫번째 방법]
1) 부모창에서 자식창을 불러오는 곳에서
public String temp = "";
private void button3_Click(object sender, EventArgs e)
{
frmParent fChild = new frmParent();
fChild.Owner = this;
fChild.ShowDialog();
//fChild.ShowDialog(this);
}
2) 자식창에서 값을 넘길 때
private void button1_Click(object sender, EventArgs e)
{
((frmParent)(this.Owner)).temp = textBox1.Text;
}
frmParent(부모창)에서의 temp는 public으로 선언 되어 있어야 frmChild(자식창)에서 접근이 가능하다.
[두번째 방법]
1) 자식창에서 변수를 선언한다.
public Form2()
{
InitializeComponent();
}
public Form1 fm;
2) 부모창에서 자식창 부르는 곳에 아래 코드를 추가한다.
private void button3_Click(object sender, EventArgs e)
{
Form2 chfm = new Form2();
chfm.fm = this;
chfm.ShowDialog();
}
3) 자식창에서 부모창으로 보내려는 곳에 아래 코드를 추가한다.
private void button1_Click(object sender, EventArgs e)
{
fm.temp = textBox1.Text;
}
::: 부모창에서 메소드를 만들고 해당 메소드에서 부모클래스 컨트롤들을 사용할 수 있다.
출처 : http://redreans.tistory.com/17
[관련글 ] [C#] 부모창에서 자식창으로 값 넘기는 방법(소스) (http://weezzle.net/3324)