相关疑难解决方法(0)

49
推荐指数
4
解决办法
9万
查看次数

设置为最大化的WinForm在周期中显示得太早

表单代码:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

调用代码:

Foo foo = new Foo();
foo.WindowState = FormWindowState.Maximized;
foo.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

当代码进入OnLoad事件时,Foo窗体已经显示在屏幕上。如果我删除该foo.WindowState = FormWindowState.Maximized语句,则Foo表单在OnLoad事件中不可见(应该如此)。

为什么会这样,怎么办才能解决此问题?问题在于,将表单设置为“最大化”时,它在周期中显示得太早了。

请注意,有一个类似的问题,但它只关注UI滑稽动作,并没有真正解决问题。

.net c# resize .net-4.0 winforms

4
推荐指数
1
解决办法
1366
查看次数

标签 统计

.net ×2

c# ×2

winforms ×2

.net-4.0 ×1

events ×1

resize ×1