如何获取表单的非最大化窗口大小?

时间:2010-06-23 14:03:16

标签: winforms c++-cli settings save

当我的应用程序关闭时,我正在尝试保存System::Windows::Forms::Form的状态。我可以毫无问题地记录窗口的大小,位置和窗口状态,但如果窗口在关闭时最大化,::Size成员会记录窗口的最大化大小。

有没有办法记录非最大化的尺寸,还是我需要拦截最大化事件并手动记录?

1 个答案:

答案 0 :(得分:2)

这不是现成的,你必须P / Invoke GetWindowPlacement。最好的方法是仅在窗体处于正确状态时记录窗口大小。例如:

    protected override void OnResize(EventArgs e) {
        if (this.WindowState == FormWindowState.Normal)
            Properties.Settings.Default.WindowSize = this.Size;
        base.OnResize(e);
    }