Просмотр времени разработки для событий пользовательского управления

StackOverflow https://stackoverflow.com/questions/142820

  •  02-07-2019
  •  | 
  •  

Вопрос

Я создал элемент управления WinForms, который наследуется от System.Windows.Формы.Пользовательский контроль...У меня есть несколько пользовательских событий в элементе управления, которые я хотел бы, чтобы потребитель моего элемента управления мог видеть.На самом деле я не могу заставить свои события отображаться на вкладке События окна Свойств во время разработки.Это означает, что единственный способ назначить события - программно записать

myUserControl.MyCustomEvent += new MyUserControl.MyCustomEventHandler(EventHandlerFunction);

я думаю, это нормально для меня, но когда кто-то другой начнет использовать мой UserControl, они не узнают, что эти события существуют (если только они не прочитают документ библиотеки...да, верно).Я знаю, что событие будет отображаться с помощью Intellisense, но было бы здорово, если бы оно также могло отображаться в окне свойств.

Это было полезно?

Решение

Убедитесь, что ваши мероприятия представлены как общедоступные.Например...

[Browsable(true)]
public event EventHandler MyCustomEvent;

Другие советы

Решение с использованием делегата.Например, я использовал для пользовательского ListView, который обрабатывает событие добавления элемента :Объявите своего делегата :

   public delegate void ItemAddedHandler(object sender, ItemEventArgs e)

затем объявите событие, в котором используется делегат :

   [Browsable(true)]
   public event ItemAddedHandler ItemAdded;

Примечание :ItemEventArgs - это пользовательский EventArgs

Надеюсь, это поможет вам, у меня все нормально работает

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top