Как добавить событие загрузки формы (в настоящее время не работает) - PullRequest
19 голосов
/ 24 марта 2012

У меня есть форма 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

Ответы [ 2 ]

50 голосов
/ 24 марта 2012

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

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

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

15 голосов
/ 24 марта 2012

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

 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);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...