代码之家  ›  专栏  ›  技术社区  ›  Jiri

像是WindowState的RestoreBounds

  •  0
  • Jiri  · 技术社区  · 15 年前

    我有一个应用程序正在启动最小化。

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

    我能用API做这个吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Jacob G    15 年前

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

    将属性添加到窗体中。

    如果是,请将WindowState设置为属性的值。
    设置一个标志,这样你只通过一次逻辑。

        2
  •  0
  •   yhyrcanus    7 年前

    从我的经验来看, Window.RestoreBounds 将始终为您提供窗口的最终“正常”尺寸,并且 Window.WindowState

    我就是这样做的(我知道恢复不是纯粹的,但我并不在乎):

    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;                      
        }
    
    }
    
    推荐文章