如何添加表单加载事件(当前不起作用)

本文关键字:事件 不起作用 加载 表单 添加 何添加 | 更新日期: 2023-09-27 18:28:55

我有一个Windows窗体,当窗体加载时,我试图在其中显示一个用户控件。不幸的是,它没有显示任何内容。我做错了什么?请参阅下面的代码:

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

如何添加表单加载事件(当前不起作用)

有三种方法可以做到这一点-从表单设计器中,选择表单,在您通常看到属性列表的地方,它的正上方应该有一个小闪电符号-这会向您显示表单的所有事件。在列表中找到表单加载事件,您应该能够从下拉列表中选择ProgramViwer_Load

第二种方法是以编程的方式——在某个地方(可能是构造函数)您需要添加它,比如:ProgramViwer.Load += new EventHandler(ProgramViwer_Load);

第三种使用设计器的方法(可能是最快的)-当你创建一个新表单时,在设计模式下双击它的中间。它将为您创建一个Form加载事件,挂接它,并将您带到事件处理程序代码。然后你可以加上你的两行,你就可以开始了!

你得到了一半的答案!既然已经创建了事件处理程序,就需要将它挂接到表单,以便在加载表单时实际调用它。您可以通过以下操作来实现这一点:

 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);
  }
}