지금까지 ui배치 후 더블클릭 등으로 이벤트를 등록해서 사용했는데
어떻게 이렇게 한 것 만으로 되는지 자세하게 알아보자
버튼의 클릭 이벤트를 처리할때 click 속성은 이벤트 핸들러 이고, 이벤트 핸들러는 델리게이트 타입이다.
그러므로 델리게이트 문법을 사용해서 해당 동작을 할때 발생시킬 메서드를 등록할 수 있다
기존 델리게이트 문법보다 훨씬 편하게
클릭 동작할때 얘도 실행해줘 하는 형태로 전달해주면 아래와 같은 경우에는 btn1이 뜬 후 확인하면 clicked2도 팝업된다
- 이벤트 핸들러 원형
void 타입이기에 전달해주는 메서드 또한 void 타입으로 전달해줘야 한다.. 그렇지 않으면 당연히 빨간줄뜸
public delegate void EventHandler(object sender, EventArgs e);
버튼1을 클릭하면 사용자가 정의한 메서드인 button1_Click2도 실행되게 만들어주었다
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("btn1");
}
private void button1_Click2(object sender, EventArgs e)
{
MessageBox.Show("btn1_clicked2");
}
private void Form1_Load(object sender, EventArgs e)
{
button1.Click += new System.EventHandler(button1_Click2);
}
'C# > 윈폼' 카테고리의 다른 글
사용자 정의 컨트롤러 (0) | 2024.09.21 |
---|---|
단일 프로세스 (0) | 2024.09.21 |
윈폼 datatable, dataset, datagridview (0) | 2024.09.21 |
윈폼 시작하기 2 (판넬, 스플리터, 테이블 레이아웃 판넬, 툴스트립) (0) | 2024.09.21 |
윈폼 시작하기 (이벤트, MDI, 로그인) (2) | 2024.09.21 |