zoukankan      html  css  js  c++  java
  • WPF 最大化最小化窗口

    public static void FullOrMin(this Window window)
            {
                //如果是全屏,则最小化
                if (window.WindowState == WindowState.Maximized)
                {
                    window.Topmost = false;
                    window.WindowState = WindowState.Normal;
                    window.WindowStyle = WindowStyle.SingleBorderWindow;

                    window.ResizeMode = ResizeMode.CanResizeWithGrip;//设置为可调整窗体大小
                    window.Width = 800;
                    window.Height = 600;

                    //获取窗口句柄 
                    var handle = new WindowInteropHelper(window).Handle;
                    //获取当前显示器屏幕
                    Screen screen = Screen.FromHandle(handle);

                    window.Left = (screen.Bounds.Width - window.Width) / 2;
                    window.Top = (screen.Bounds.Height - window.Height) / 2;

                    window.WindowState = WindowState.Minimized;
                    return;
                }

                //如果是窗口,则全屏
                if (window.WindowState == WindowState.Normal)
                {
                    //变成无边窗体
                    window.WindowState = WindowState.Normal;//假如已经是Maximized,就不能进入全屏,所以这里先调整状态
                    window.WindowStyle = WindowStyle.None;
                    window.ResizeMode = ResizeMode.NoResize;
                    window.Topmost = true;//最大化后总是在最上面

                    //获取窗口句柄 
                    var handle = new WindowInteropHelper(window).Handle;

                    //获取当前显示器屏幕
                    Screen screen = Screen.FromHandle(handle);

                    //调整窗口最大化,全屏的关键代码就是下面3句
                    window.MaxWidth = screen.Bounds.Width;
                    window.MaxHeight = screen.Bounds.Height;
                    window.WindowState = WindowState.Maximized;


                    //解决切换应用程序的问题
                    window.Activated += new EventHandler(window_Activated);
                    window.Deactivated += new EventHandler(window_Deactivated);
                }

            }

            static void window_Deactivated(object sender, EventArgs e)
            {
                var window = sender as Window;
                window.Topmost = false;
            }

            static void window_Activated(object sender, EventArgs e)
            {
                var window = sender as Window;
                window.Topmost = true;
            }

  • 相关阅读:
    iOS必备知识点
    stringByReplacingOccurrencesOfString
    iPhone X 设计适配指南 & iOS 11 新特性
    block与property
    swift开发笔记04
    category重写系统方法的调用顺序是怎么样的?
    Error: Chunk.entry was removed. Use hasRuntime()错误解决
    李阳音标速成MP3文本
    JavaScript权威指南(第6版)(中文版)笔记
    Idea检入boss项目
  • 原文地址:https://www.cnblogs.com/jinhaoObject/p/4963812.html
Copyright © 2011-2022 走看看