Menyembunyikan Butang Tutup dalam Windows WPF
Soalan: Bagaimanakah saya boleh menyembunyikan butang tutup daripada tetingkap WPF sambil mengekalkan bar tajuk biasa?
WPF tidak mempunyai pilihan terbina dalam untuk mengalih keluar butang tutup daripada bar tajuk tetingkap. Walau bagaimanapun, ini boleh dicapai menggunakan P/Invoke:
Kod:
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);
Kod ini menyembunyikan butang tutup, bersama-sama dengan ikon tetingkap dan menu sistem.
Nota: Pendekatan ini hanya menyembunyikan butang. Tetingkap masih boleh ditutup menggunakan pintasan papan kekunci atau dengan menutup aplikasi.
Untuk mengelakkan tetingkap daripada ditutup apabila utas latar belakang sedang berjalan, ganti kaedah OnClosing dan tetapkan Batal kepada benar:
protected override void OnClosing(CancelEventArgs e) { e.Cancel = true; }
Atas ialah kandungan terperinci Bagaimana Saya Boleh Menyembunyikan Butang Tutup dalam Tetingkap WPF Semasa Menyimpan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!