귀하의 질문은 WinForms라고 가정합니다.
알림 : userControl에서 이벤트를 노출하고 버튼의 이벤트에 연결하면 양식에 자녀가 있음을 알립니다. 양식에서
public class MyUserControl {
private Button myButton;
public event EventHandler MyControlButtonClicked;
public MyUserControl() {
...
myButton.Click += OnMyButtonClicked;
}
private void OnMyButtonClicked(object sender, EventArgs arguments) {
if (MyControlButtonClicked != null) {
MyControlButtonClicked(this, arguments);
}
}
}
:
public class MyForm {
private MyUserControl userControl;
public MyForm() {
...
userControl.MyControlButtonClicked += OnUserControlButtonClicked;
}
private void OnUserControlButtonClicked(object sender, EventArgs arguments) {
// handle the button click here
}
}
인구를 들어 같은 패턴은 중재자 사용자 컨트롤을 사용합니다. listBox 채우기를 수행하고 양식에서 호출하는 public 메소드를 userControl에 추가하십시오.
사용자 컨트롤에 자신 만의 공개 이벤트를 추가하기 만하면됩니다. 단추의 Click 이벤트 처리기에서 발생시킵니다. –
그게 끝났어. 내가 가지고있는 문제는 그 형태로 이벤트를 포착하는 방법이다. 나는 여기서 기본적인 것을 놓치고있는 것 같다. – Lara