WPF 禁用窗体最大最小按键

  • A+
所属分类:.NET技术
摘要

  用法  

 /// <summary>     /// 禁用窗体最大最小按键     /// </summary>     internal static class WindowExtensions     {         [DllImport("user32.dll")]         internal extern static int SetWindowLong(IntPtr hwnd, int index, int value);          [DllImport("user32.dll")]         internal extern static int GetWindowLong(IntPtr hwnd, int index);          internal static void HideMinimizeAndMaximizeButtons(System.Windows.Window window)         {             const int GWL_STYLE = -16;              IntPtr hwnd = new System.Windows.Interop.WindowInteropHelper(window).Handle;             long value = GetWindowLong(hwnd, GWL_STYLE);              SetWindowLong(hwnd, GWL_STYLE, (int)(value & -131073 & -65537));          }          internal static void DisableMinimizeButton(System.Windows.Window window)         {             const int GWL_STYLE = -16;             IntPtr hwnd = new System.Windows.Interop.WindowInteropHelper(window).Handle;             long value = GetWindowLong(hwnd, GWL_STYLE);              SetWindowLong(hwnd, GWL_STYLE, (int)(value & -131073));         }          internal static void DisableMaximizeButton(System.Windows.Window window)         {             const int GWL_STYLE = -16;             IntPtr hwnd = new System.Windows.Interop.WindowInteropHelper(window).Handle;             long value = GetWindowLong(hwnd, GWL_STYLE);              SetWindowLong(hwnd, GWL_STYLE, (int)(value & -65537 & -131073));         }     } 

  用法

 public Window2()         {             InitializeComponent();             this.SourceInitialized += (x, y) =>             {                 WindowExtensions.DisableMinimizeButton(this);             };         }