Rumah > pembangunan bahagian belakang > C++ > Cara Menyembunyikan Butang Tutup dalam Dialog Modal WPF Semasa Mengekalkan

Cara Menyembunyikan Butang Tutup dalam Dialog Modal WPF Semasa Mengekalkan

Susan Sarandon
Lepaskan: 2024-12-30 15:35:15
asal
601 orang telah melayarinya

How to Hide the Close Button in a WPF Modal Dialog While Retaining the

Sembunyikan butang tutup dalam tetingkap Wpf

Dalam dialog mod WPF, kadangkala kami mahu menyembunyikan butang tutup di bahagian atas tetingkap, tetapi masih Kekalkan bar tajuk. Walau bagaimanapun, tiada satu pun sifat ResizeMode, WindowState dan WindowStyle yang sedia ada memenuhi kedua-dua keperluan. Berikut ialah penyelesaian kepada masalah ini menggunakan P/Invoke.

Mula-mula, tambahkan pengisytiharan berikut dalam kelas tetingkap:

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);
Salin selepas log masuk

Kemudian, letakkan kod berikut dalam acara Dimuatkan tetingkap:

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

Laksanakan di atas kod Selepas itu, butang tutup akan disembunyikan. Ambil perhatian bahawa ini hanya menyembunyikan butang, kekunci pintasan untuk menutup tetingkap (Alt F4) masih berfungsi. Jika anda perlu menghalang pengguna daripada menutup tetingkap, anda boleh menggunakan kaedah yang dicadangkan oleh Gabe untuk mengatasi acara OnClosing dan menetapkan Batal kepada benar.

Atas ialah kandungan terperinci Cara Menyembunyikan Butang Tutup dalam Dialog Modal WPF Semasa Mengekalkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan