在使用ShowWindow方法來設置窗體的狀態時,由於不知道參數值,用起來非常容易混亂,所以整理了以下其參數的枚舉值,方便以后的的使用。
public class User32API { #region ShowWindow 方法窗體狀態的參數枚舉 /// <summary> /// 隱藏窗口並激活其他窗口 /// </summary> public const int SW_HIDE = 0; /// <summary> /// 激活並顯示一個窗口。如果窗口被最小化或最大化,系統將其恢復到原來的尺寸和大小。應用程序在第一次顯示窗口的時候應該指定此標志 /// </summary> public const int SW_SHOWNORMAL = 1; /// <summary> /// 激活窗口並將其最小化 /// </summary> public const int SW_SHOWMINIMIZED = 2;
/// <summary> /// 激活窗口並將其最大化 /// </summary> public const int SW_SHOWMAXIMIZED = 3; /// <summary> /// 以窗口最近一次的大小和狀態顯示窗口。此值與SW_SHOWNORMAL相似,只是窗口沒有被激活 /// </summary> public const int SW_SHOWNOACTIVATE = 4; /// <summary> /// 在窗口原來的位置以原來的尺寸激活和顯示窗口 /// </summary> public const int SW_SHOW = 5; /// <summary> /// 最小化指定的窗口並且激活在Z序中的下一個頂層窗口 /// </summary> public const int SW_MINIMIZE = 6; /// <summary> /// 最小化的方式顯示窗口,此值與SW_SHOWMINIMIZED相似,只是窗口沒有被激活 /// </summary> public const int SW_SHOWMINNOACTIVE = 7; /// <summary> /// 以窗口原來的狀態顯示窗口。此值與SW_SHOW相似,只是窗口沒有被激活 /// </summary> public const int SW_SHOWNA = 8; /// <summary> /// 激活並顯示窗口。如果窗口最小化或最大化,則系統將窗口恢復到原來的尺寸和位置。在恢復最小化窗口時,應用程序應該指定這個標志 /// </summary> public const int SW_RESTORE = 9; /// <summary> /// 依據在STARTUPINFO結構中指定的SW_FLAG標志設定顯示狀態,STARTUPINFO 結構是由啟動應用程序的程序傳遞給CreateProcess函數的 /// </summary> public const int SW_SHOWDEFAULT = 10; /// <summary> /// 最小化窗口,即使擁有窗口的線程被掛起也會最小化。在從其他線程最小化窗口時才使用這個參數 /// </summary> public const int SW_FORCEMINIMIZE = 11; #endregion [DllImport("user32.dll", EntryPoint = "ShowWindow")] public static extern bool ShowWindow(int hwnd, int nCmdShow); }
在WPF調用ShowWindow方法:
User32API.ShowWindow(new System.Windows.Interop.WindowInteropHelper(this).Handle.ToInt32(), User32API.SW_HIDE)
這里的“this”指當前窗口。