我有3个表格
FormBase
没有onload event
FormBaseDetail : FormBase
- >
在此表单上,我使用可视化设计器创建了on_load event
FormBoxDetail : FormBaseDetail
- >
在此表单上,我还使用可视化设计器创建了一个load event
创建FormBoxDetail
后,onload event
上的FormBaseDetail
被调用,但onload event
上的FormBoxDetail
被调用。这从未被调用过。
我做错了什么?
public partial class FormBase : Form
{
public FormBase()
{
InitializeComponent();
}
}
public partial class FormBaseDetail : FormBase
{
public FormBaseDetail()
{
InitializeComponent();
}
private void FormBaseDetail_Load(object sender, EventArgs e)
{
MessageBox.Show("FormBaseDetail");
}
}
public partial class FormBoxDetail : Test_app.FormBaseDetail
{
public FormBoxDetail()
{
InitializeComponent();
}
private void FormBoxDetail_Load(object sender, EventArgs e)
{
MessageBox.Show("why am i not getting called");
}
}
答案 0 :(得分:2)
只有两个原因导致无法触发Load事件:
FormBoxDetail_Load
未附加到Load
事件。但你说的不是你的情况。FormBoxDetail
。确保您正在创建FormBoxDetail
类的实例。可能你正在使用FormBaseDetail
。确保使用正确的表单类。这里将触发两个事件处理程序:
var form = new FormBoxDetail();
form.Show();
第一个是FormBaseDetail_Load
处理程序,然后是FormBoxDetail_Load
处理程序。
答案 1 :(得分:0)
当我从一个可执行项目中实例化(新)一个类e.a时,它恰好发生在我身上。 MyClasss c = new MyDll.MyClass(par),并且表单未加载。 我发现我忘记加载它: Application.Run(C);
此致