C# Windows Forms 프로그래밍을 하면 의외로 Form끼리 데이터 공유가 안되서 애먹는 모습을 종종 보았다.
다음과 같은 폼이 있다고 가정하고
namespace TEST { public partial class FormMain : Form { public string Value { get;set; } public FormMain() { InitializeComponent(); RunChild(); } private void RunChild() { FormLogin cdf = new FormLogin (this); cdf.ShowDialog(); //혹은 cdf.Show(); } } }
Value에 대한 GET;SET; 속성을 정의하여 준다.
다른 폼에서는
namespace TEST { public partial class FormLogin : Form { FormMain MotherFrm; public FormLogin(FormMain FatherFrm) { this.MotherFrm = FatherFrm; InitializeComponent(); } } }
와 같이 정의하여주면 MotherFrm.Value와 같이 사용이 가능하다.