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 程序最大化,窗口,最小化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 新浪微博 各种表情使用频率
- 下一篇: android各个版本的名称和更新(转)