gpt4 book ai didi

c# - 继承窗体上的 OnLoad 事件不会被调用

转载 作者:行者123 更新时间:2023-11-30 16:56:43 24 4
gpt4 key购买 nike

我有3个表格

  1. FormBase没有 onload event

  2. FormBaseDetail : FormBase ->在这个表格上,我使用视觉设计器创建了一个 on_load event

  3. FormBoxDetail : FormBaseDetail ->在此表单上,我还使用可视化设计器在 load event 上创建了一个

FormBoxDetail已创建,onload eventFormBaseDetail被称为但不是 onload eventFormBoxDetail .这永远不会被调用。

我做错了什么?

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

最佳答案

Load 事件无法触发的原因只有两个:

  1. 事件处理程序 FormBoxDetail_Load 未附加到 Load 事件。但你是说这不是你的情况。
  2. 您没有加载 FormBoxDetail。确保您正在创建 FormBoxDetail 类的实例。可能您使用的是 FormBaseDetail。确保您使用的是正确的表单类。

此处将触发两个事件处理程序:

var form = new FormBoxDetail();
form.Show();

第一个是 FormBaseDetail_Load 处理程序,然后是 FormBoxDetail_Load 处理程序。

关于c# - 继承窗体上的 OnLoad 事件不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27598901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com