日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

WPF 程序最大化,窗口,最小化

發布時間:2023/11/30 asp.net 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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;
??????? }

?

按需求,如果需要全屏后再還原窗口的話,就再全屏前記錄窗口的屬性

最小化后窗口也是一樣,在最小化前記錄窗口的屬性,我這里直接給賦值了,

轉載于:https://www.cnblogs.com/mcc7/archive/2011/10/21/2220261.html

總結

以上是生活随笔為你收集整理的WPF 程序最大化,窗口,最小化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。