zoukankan      html  css  js  c++  java
  • wpf 最大最小化窗口详细

    转自分享

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

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

                    //获取窗口句柄 
                    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;
            }

    至少证明我们还活着
  • 相关阅读:
    [读书笔记]捉虫日记
    花生壳建站全过程
    (step4.3.9)hdu 1584(蜘蛛牌——DFS)
    鼠标移到导航上面 当前的LI变色 处于当前的位置
    JavaScript学习笔记
    由Maximum Gap,对话桶排序,基数排序和统计排序
    安德鲁斯Launcher得到的装在手机的应用程序列表
    broadAnywhere:Broadcast组件权限绕过漏洞(Bug: 17356824)
    Ubuntu logomaker sh: 1: pngtopnm: not found 解决方案
    HDU 1598 find the most comfortable road (罗列+Kruskal) 并检查集合
  • 原文地址:https://www.cnblogs.com/pengde/p/10217163.html
Copyright © 2011-2022 走看看