[C#] 폼간의 데이터 쉽게 주고받기

이 글에서는 C#의 프로퍼티(get set 키워드)를 사용하지 않는다. 이 부분은 나중에 따로 작성해 보겠다.

이 글에서는 폼의 생성자를 이용하게 되는데, 생성자에 대한 개념이 없으면 이해하기 조금 어려울 것 이다.

일단 Form1과 Form2가 프로젝트 내에 있다는 전제 하에 진행한다.

자, 한번 Form2의 생성자를 보도록 해보자.

public Form2()

{
     InitializeComponent();
}

따로 건들지 않았더라면, 생성자는 이럴 것 이다.

생성자에 대해 간략하게 설명하자면, 개체가 생성될때 실행되는 메소드라고 생각하면 쉽다.

Form2 frm = new Form2();

그렇다면, Form1에서 이렇게 Form2의 인스턴스를 생성하여 줄때, 저 생성자가 실행되는 것이다.

우리는 여기서, Form2의 생성자를 약간 수정해 볼 것이다.

public partial class Form1 : Form
{
   Form1 frm;

   public Form1(Form1 _frm)
   {
      InitializeComponent();

      frm = _frm;

  

   }

} 

이렇게 전역으로 Form1 형의 frm을 선언하고, 생성자의 인자로는 Form1형의 _frm을 받아들이는 것이다.

그리고 받아온 _frm을 frm에 대입시킨다.

Form2 frm = new Form2(this);

이렇게 생성자를 살짝 수정했으니, Form2의 인스턴스를 생성할때도 저렇게 자기자신을 인자로 넣어줘야한다.

You may also like...