• 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;
            }

  • 相关阅读:
    JS浏览器兼容问题
    jsN位字母数字混合验证码
    js将数字变成数组
    JS跟随鼠标移动的提示框
    Grand Central Dispatch(GCD)编程基础
    C#学习之修饰符
    .NET 开源项目介绍及资源推荐:单元测试
    万般皆LINQ
    .NET 开源项目介绍及资源推荐:IOC容器篇
    Type.GetType(string typeName) returns null !?
  • 原文地址:https://www.cnblogs.com/jinhaoObject/p/4963812.html
Copyright © 2020-2023  润新知