사용자 제어 이벤트를위한 설계 시간보기
-
02-07-2019 - |
문제
System.windows.forms.usercontrol에서 상속하는 Winforms 컨트롤을 만듭니다 ... 제어 소비자가 볼 수있는 컨트롤에 대한 사용자 정의 이벤트가 있습니다. 디자인 시간 동안 속성 창의 이벤트 탭에 실제로 이벤트를 표시 할 수 없습니다. 이것은 이벤트를 할당하는 유일한 방법은 프로그래밍 방식으로 쓰는 것입니다.
myUserControl.MyCustomEvent += new MyUserControl.MyCustomEventHandler(EventHandlerFunction);
이것은 나에게 괜찮습니다. 그러나 다른 사람이 내 우르 컨트롤을 사용하기 위해 왔을 때 그들은이 사건들이 존재한다는 것을 알지 못할 것입니다 (도서관 도코를 읽지 않는 한 ... 그렇습니다). 나는 이벤트가 IntelliSense를 사용하여 나타날 것이라는 것을 알고 있지만 속성 창에서도 보여줄 수 있다면 좋을 것입니다.
해결책
이벤트가 공개적으로 노출되어 있는지 확인하십시오. 예를 들어...
[Browsable(true)]
public event EventHandler MyCustomEvent;
다른 팁
대표를 사용하는 솔루션. 예를 들어 항목 추가 이벤트를 처리하는 사용자 정의 목록보기에 사용했습니다. 대의원 선언 :
public delegate void ItemAddedHandler(object sender, ItemEventArgs e)
그런 다음 대의원을 사용하는 이벤트를 선언합니다.
[Browsable(true)]
public event ItemAddedHandler ItemAdded;
참고 : ItemEventArgs는 맞춤형 EventArgs입니다
희망은 당신을 도울 수 있고, 나를 위해 잘 작동합니다
제휴하지 않습니다 StackOverflow