Rumah >pembangunan bahagian belakang >C++ >Bagaimana Saya Boleh Menyembunyikan Butang Tutup dalam Tetingkap WPF Semasa Masih Memelihara

Bagaimana Saya Boleh Menyembunyikan Butang Tutup dalam Tetingkap WPF Semasa Masih Memelihara

Barbara Streisand
Barbara Streisandasal
2025-01-03 09:11:39522semak imbas

How Can I Hide the Close Button in a WPF Window While Still Preserving the

Menyembunyikan Butang Tutup dalam Windows WPF

Dalam aplikasi WPF, mencipta dialog ragam selalunya melibatkan penyembunyian butang tutup sambil mengekalkan bar tajuk. Walaupun WPF tidak mempunyai sifat terbina dalam untuk tujuan khusus ini, adalah mungkin untuk menyembunyikan butang tutup menggunakan gabungan P/Invoke dan pengendalian acara.

Untuk menekan butang tutup, mulakan dengan menambah pengisytiharan yang diperlukan:

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);

Seterusnya, dalam acara Window's Loaded, laksanakan perkara berikut kod:

var hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);

Ini akan menyembunyikan butang tutup bersama-sama dengan ikon tetingkap dan menu sistem.

Pertimbangan Penting

Perhatikan bahawa sementara ini kaedah menyembunyikan butang tutup, ia tidak menghalang pengguna daripada menutup tetingkap melalui cara alternatif seperti menekan Alt F4 atau menutup aplikasi daripada bar tugas.

Untuk mengelakkan penutupan tetingkap sepenuhnya sebelum syarat tertentu dipenuhi, adalah disyorkan untuk mengatasi acara OnClosing dan menetapkan Batal kepada benar. Ini boleh dilakukan bersama-sama dengan teknik P/Invoke untuk menyediakan penyelesaian lengkap untuk melumpuhkan penutupan tetingkap.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Menyembunyikan Butang Tutup dalam Tetingkap WPF Semasa Masih Memelihara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn