表格代码:
public partial class Foo: Form
{
public Foo()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
// Form already visible here when Maximized from calling code
base.OnLoad(e);
}
}
调用代码:
Foo foo = new Foo();
foo.WindowState = FormWindowState.Maximized;
foo.ShowDialog();
当代码进入 OnLoad 事件时,Foo 表单已经显示在屏幕上。如果我删除该foo.WindowState = FormWindowState.Maximized
语句,则 Foo 表单在 OnLoad 事件中不可见(应该如此)。
为什么会这样,我能做些什么来解决这个问题?问题是当表单设置为最大化时,它在周期中显示得太早了。
请注意,有一个类似的问题,但它侧重于 UI 滑稽动作,并没有真正解决问题。