Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menentukan Dimensi Skrin Aktif dalam Aplikasi WPF?

Bagaimana untuk Menentukan Dimensi Skrin Aktif dalam Aplikasi WPF?

DDD
DDDasal
2024-12-24 20:29:161047semak imbas

How to Determine Active Screen Dimensions in WPF Applications?

Menentukan Dimensi Skrin Aktif dalam WPF

Dalam aplikasi WPF, mendapatkan dimensi skrin aktif memerlukan pendekatan yang sedikit berbeza berbanding dengan WinForms. Soalan ini menangani keperluan untuk WPF bersamaan dengan System.Windows.SystemParameters.WorkArea untuk menentukan ruang kerja yang tersedia pada monitor semasa.

Penyelesaian:

Daripada bergantung pada pada fungsi terbina dalam, anda boleh menggunakan kaedah Screen.FromControl, seperti yang dicadangkan dalam respons. Kaedah ini mengambil objek Kawalan sebagai hujah dan mengembalikan objek Skrin yang mewakili monitor yang mengandungi kawalan tersebut. Untuk menggunakan ini dalam WPF, anda boleh mencipta kaedah sambungan seperti yang disediakan dalam jawapan.

Kaedah Sambungan:

static class ExtensionsForWPF
{
    public static System.Windows.Forms.Screen GetScreen(this Window window)
    {
        return System.Windows.Forms.Screen.FromHandle(new WindowInteropHelper(window).Handle);
    }
}

Dengan menggunakan kaedah sambungan ini pada objek WPF Window, anda boleh mendapatkan semula objek System.Windows.Forms.Screen yang sepadan, yang membolehkan anda mengakses sifat Bounds dan mendapatkan dimensi aktif skrin.

Penggunaan:

Window myWindow = ...;
System.Windows.Forms.Screen activeScreen = myWindow.GetScreen();
Rectangle activeScreenBounds = activeScreen.Bounds;

Pendekatan ini menyediakan penyelesaian merentas platform untuk menentukan ruang kerja yang tersedia pada monitor yang mengehoskan tetingkap WPF.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Dimensi Skrin Aktif dalam Aplikasi WPF?. 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