У меня есть приложение WinForms. Мой производный класс Формы имеет производный класс UserControl. Я просто поместил несколько средств управления в один UserControl для упрощения повторного использования. Load
событие UserControl
не запущен. Я должен установить некоторое свойство?
Попробуйте переопределить метод OnLoad () в своем UserControl. Из MSDN:
Метод OnLoad также позволяет производным классам обрабатывать событие без подключения делегата. Это предпочтительный метод для обработки события в производном классе.
protected override void OnLoad(EventArgs e)
{
//Your code to run on load goes here
// Call the base class OnLoad to ensure any delegate event handlers are still callled
base.OnLoad(e);
}
Вам не нужно будет устанавливать какие-либо особые свойства для срабатывания событий UserControl. У вас есть один из двух способов подписаться на событие. В свойствах (сетка свойств) выберите список событий ... дважды щелкните свойство Загрузить. Все необходимые фрагменты кода будут помещены на свои места, и ваш курсор будет ждать вас с помощью правильного метода.
Второй метод - это подписка на событие следующим образом:
public MyMainForm( )
{
InitializeComponents();
myUserControl.Load += new System.EventHandler(myUserControl_Load);
}
void myUserControl_Load(object sender, EventArgs e)
{
MessageBox.Show(((UserControl)sender).Name + " is loaded.");
}