Как добавить событие загрузки формы (в настоящее время не работает) - программирование
Подтвердить что ты не робот

Как добавить событие загрузки формы (в настоящее время не работает)

У меня есть форма Windows Forms, где я пытаюсь показать пользовательский элемент управления при загрузке формы. К сожалению, он ничего не показывает. Что я делаю не так? См. Код ниже:

AdministrationView wel = new AdministrationView();
public ProgramViwer()
{
    InitializeComponent();
}


private void ProgramViwer_Load(object sender, System.EventArgs e)
{
    formPanel.Controls.Clear();
    formPanel.Controls.Add(wel);
}

Обратите внимание, что я добавил событие загрузки на основании того, что я прочитал в этой статье:

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.load.aspx

4b9b3361

Ответ 1

Три способа сделать это - из конструктора форм, выберите форму и где вы обычно видите список свойств, а над ним должен быть небольшой символ молнии - это показывает вам все события формы. Найдите событие загрузки формы в списке, и вы можете выбрать ProgramViwer_Load в раскрывающемся списке.

Второй способ сделать это программно - где-нибудь (возможно, конструктор), вам нужно добавить его, например: ProgramViwer.Load += new EventHandler(ProgramViwer_Load);

Третий способ использования дизайнера (возможно, самый быстрый) - при создании новой формы дважды щелкните по ней в режиме разработки. Он создаст событие загрузки формы для вас, подключится к нему и перенесет вас в код обработчика событий. Тогда вы можете просто добавить свои две линии, и вам хорошо идти!

Ответ 2

У тебя есть половина ответа! Теперь, когда вы создали обработчик событий, вам нужно привязать его к форме, чтобы он фактически вызывался при загрузке формы. Вы можете добиться этого, выполнив следующие действия:

 public class ProgramViwer : Form{
  public ProgramViwer()
  {
       InitializeComponent();
       Load += new EventHandler(ProgramViwer_Load);
  }
  private void ProgramViwer_Load(object sender, System.EventArgs e)
  {
       formPanel.Controls.Clear();
       formPanel.Controls.Add(wel);
  }
}