0

我正在使用现有的 WinForm 应用程序,它使用以下代码重新激活以前加载的子表单:

private void Activate(Form frm)
{
    frm.WindowState = FormWindowState.Maximized;
    this.ActivateMdiChild(frm);
}

我遇到的麻烦是,当表单被重新激活时,我似乎无法在表单上找到任何由上面的代码自然引发的事件。我也很难添加代码来手动引发子表单上的事件,我认为这是因为我正在使用一个通用Form对象。

我尝试了Load, MdiChildActivate,MaximumSizeChangedActivated其他一些事件,但在运行上面的代码时它们都没有触发。在上面调用该代码并认为事件可以正常工作之后,我基本上需要更新一些表单元素。

有谁知道重新激活后将在子表单上引发的事件?

4

1 回答 1

0

您是否尝试过子窗体的 Enter 事件?如果表单已经处于活动状态,我认为它不会触发。

另一种选择是将其转换为您自己的类型并添加您自己的事件,然后直接触发它。

于 2013-07-05T20:23:53.647 回答