개발 공부/C# 학습

[C# 학습] 폼1 -> 폼2 데이터 전송(다른 폼에 데이터(클래스) 전송, 이벤트 이용)

아밍나 2022. 11. 8. 10:52
728x90

- 이벤트를 이용하여 폼1에서 폼2로 데이터를 전송하는 방법.

 

1. 데이터를 보내려는 폼(DataSendForm)에서 delegate, event 키워드로 이벤트를 생성한다.

//DataSendForm
public delegate void DataSendHandler(MyClass myclass);
public event DataSendHandler DataSendEvent;

2. 데이터를 보내려는 폼(DataSendForm)에서 버튼 클릭 시 이벤트를 호출하여 데이터를 전송한다.

//DataSendForm
private void btn_Click(object sender, EventArgs e)
{
    DataSendEvent(sendData());
}

public MyClass sendData()
{
    MyClass myclass = new MyClass();
    myclass.name = sendForm_txtbox.Text;
    ...
    return myclass;
}

3. 데이터를 받는 폼(DataGetForm)에서 데이터를 보내는 폼(DataSendForm) 생성(new) 시 이벤트를 등록한다.

 +) 이벤트 발생 시 처리할 함수(getData)도 생성.

//DataGetForm
private void btn_getData_Click(object sender, EventArgs e)
{
    DataSendForm sendForm = new DataSendForm();
    sendForm.DataSendEvent += new DataSendForm.DataSendHandler(getData);
    
    sendForm.Show();
}

private void getData(MyClass myclass)
{
    getForm_txtbox.Text = myclass.name;
}

 

 

 

 

 

 

 

 

 


참고 사이트)

https://dream-hacker.tistory.com/55

 

C# 폼간 데이터 전송 방법 정리

C#에서 폼에서 폼으로 데이터를 전송(전달)하는 방법에 대해서 정리해 봅니다. 즉 하나의 폼에서 데이터를 다른 폼으로 전달하는 방법에는 여러 가지가 있겠지만, 대략 아래의 방법들이 있습니

dream-hacker.tistory.com

 

728x90
반응형