문제

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입니다

희망은 당신을 도울 수 있고, 나를 위해 잘 작동합니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top