在WPF 視窗中隱藏關閉按鈕
問題:如何在WPF 視窗中隱藏關閉按鈕同時保持正常的標題列?
WPF 缺少刪除關閉按鈕的內建選項從視窗的標題列。但是,這可以使用 P/Invoke 來實現:
程式碼:
private const int GWL_STYLE = -16; private const int WS_SYSMENU = 0x80000; [DllImport("user32.dll", SetLastError = true)] private static extern int GetWindowLong(IntPtr hWnd, int nIndex); [DllImport("user32.dll")] private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); // In the Window's Loaded event var hwnd = new WindowInteropHelper(this).Handle; SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
此程式碼隱藏關閉按鈕以及視窗圖示和系統選單。
注意:此方法僅隱藏按鈕。仍然可以使用鍵盤快捷鍵或關閉應用程式來關閉視窗。
若要防止視窗在背景執行緒執行時關閉,請重寫 OnClosing 方法並將 Cancel 設為 true:
protected override void OnClosing(CancelEventArgs e) { e.Cancel = true; }
以上是如何在 WPF 視窗中隱藏關閉按鈕,同時保留的詳細內容。更多資訊請關注PHP中文網其他相關文章!