首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类似于WindowState的RestoreBounds

类似于WindowState的RestoreBounds
EN

Stack Overflow用户
提问于 2010-07-22 21:40:09
回答 2查看 1K关注 0票数 0

我有一个开始最小化的应用程序。

我可以设置RestoreBounds来设置当用户恢复窗口时窗口将恢复到的大小。

但是我如何设置窗体是否应该恢复到最大化状态或正常状态?默认情况下为Normal。我希望有像RestoreWindowState这样的东西。

我能用API以某种方式做到这一点吗?

EN

回答 2

Stack Overflow用户

发布于 2010-07-22 21:47:38

你不能自己添加和管理这个属性吗?

将该属性添加到窗体中。

重写OnClientSizeChanged并检查窗口状态是否已从最小化更改。

如果是这样,请将WindowState设置为您的属性的值。

设置一个标志,以便您只需执行一次该逻辑。

票数 0
EN

Stack Overflow用户

发布于 2019-05-04 00:17:58

根据我的经验,Window.RestoreBounds总是给你窗口的最终“正常”尺寸,而Window.WindowState总是给你窗口的最终状态(最大,最小,正常)。无论您处于什么状态,您都可以保存RestoreBounds和WindowState,并手动设置窗口尺寸/状态。

这就是我是如何做到的(我知道恢复不是纯粹的,但我真的不在乎):

代码语言:javascript
复制
private class WindowStatus
{
    private WindowState state;
    private Rect restoreBounds;

    public WindowStatus(Window window)
    {
        state = window.WindowState;
        restoreBounds = window.RestoreBounds;
    }

    public void Restore(Window window)
    {
        window.WindowState = state;
        window.Height = restoreBounds.Height;
        window.Width = restoreBounds.Width;
        window.Left = restoreBounds.Left;
        window.Top = restoreBounds.Top;                      
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3309442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档