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
반응형
'개발 공부 > C# 학습' 카테고리의 다른 글
[C# 학습] 자식 폼 하나만 활성화하기(Show() 폼 중복 실행 방지, FormClosing 활용) (2) | 2022.11.25 |
---|---|
[C# 학습] C#으로 Excel Export, Excel 원하는 셀 위치에 이미지 삽입(worksheet.Paste) (0) | 2022.11.17 |
[C# 학습] OleDbConnection, OleDbCommand, OleDbDataAdapter, OleDbDataReader (0) | 2022.10.24 |
[C# 학습] .NET Framework 데이터 공급자 (0) | 2022.10.24 |
[C# 학습] SqlConnection, SqlCommand, SqlDataAdapter (0) | 2022.10.24 |