Menonaktifkan kesadaran DPI untuk memperbaiki masalah HDPI/penskalaan dengan Perancang Formulir Windows di Visual Studio
Berlaku untuk:
Visual Studio
Visual Studio untuk Mac
Dalam artikel ini, Anda akan mempelajari batasan Perancang Formulir Windows pada monitor HDPI dan cara menjalankan Visual Studio sebagai proses yang tidak menyadari DPI.
Visual Studio adalah aplikasi sadar titik per inci (DPI), yang berarti tampilan diskalakan secara otomatis. Jika aplikasi menyatakan bahwa aplikasi tersebut tidak sadar DPI, sistem operasi menskalakan aplikasi sebagai bitmap. Perilaku ini juga disebut virtualisasi DPI. Aplikasi ini masih berpikir bahwa aplikasi berjalan pada penskalaan 100%, atau 96 dpi.
Anda juga dapat:
- Menskalakan secara otomatis dalam Formulir Windows
- Pilih opsi untuk Mengoptimalkan perenderan untuk layar dengan kepadatan piksel yang berbeda (memerlukan hidupkan ulang)
Masalah penskalaan di Perancang Formulir Windows pada monitor HDPI
Karena Perancang Formulir Windows di Visual Studio tidak memiliki dukungan penskalaan, masalah tampilan dapat terjadi saat Anda membuka beberapa formulir pada monitor bertitik tinggi per inci (HDPI). Misalnya, kontrol dapat tampak tumpang tindih seperti yang ditunjukkan pada gambar berikut:

Jika Anda tidak bekerja di perancang dan tidak perlu menyesuaikan tata letak formulir, Anda dapat mengabaikan bilah informatif dan terus mengerjakan di editor kode atau di jenis perancang lainnya. (Anda juga dapat menonaktifkan pemberitahuan sehingga bilah informasi tidak terus muncul.) Hanya Perancang Formulir Windows yang terpengaruh.
Saat Anda membuka formulir di Perancang Formulir Windows pada monitor HDPI, Visual Studio menampilkan bilah informatif.
Tip
Jika Anda telah menutup bilah informatif di bagian atas perancang, tetapi Anda masih ingin mereplikasi perilaku tautan yang bertuliskan Hidupkan ulang Visual Studio dengan penskalaan 100%, Anda masih bisa. Pilih Alat>Baris Perintah>Baris Perintah Pengembang dari bilah menu Visual Studio. Kemudian masukkan devenv /noScale.
Mengatasi masalah tampilan HDPI
Ada tiga opsi untuk mengatasi masalah tampilan:
- Menghidupkan ulang Visual Studio sebagai proses yang tidak menyadari DPI
- Menambahkan entri registri
- Mengatur pengaturan penskalaan tampilan Anda ke 100%
Tip
Jika Anda lebih suka mengelola pengaturan dari baris perintah, devenv.exe mengambil /noscale sebagai parameter baris perintah untuk berjalan dalam mode penskalaan 100%.
Menghidupkan ulang Visual Studio sebagai proses yang tidak menyadari DPI
Solusi yang disukai untuk masalah ini adalah menghidupkan ulang Visual Studio sebagai proses yang tidak menyadari DPI. Lakukan dengan memilih opsi pada bilah informatif kuning.
Ketika Visual Studio berjalan sebagai proses yang tidak menyadari DPI, masalah tata letak perancang teratasi, tetapi font mungkin tampak buram dan Anda mungkin melihat masalah di perancang lain seperti XAML Designer.. Visual Studio menampilkan pesan informatif kuning yang berbeda saat berjalan sebagai proses tidak sadar DPI yang bertuliskan Visual Studio berjalan sebagai proses yang tidak menyadari DPI. Perancang WPF dan XAML mungkin tidak ditampilkan dengan benar. Bilah informatif juga menyediakan opsi untuk Menghidupkan ulang Visual Studio sebagai proses sadar DPI.
Catatan
- Jika Anda memiliki jendela alat yang tidak di-dock di Visual Studio ketika Anda memilih opsi untuk menghidupkan ulang sebagai proses tidak sadar DPI, posisi jendela alat tersebut dapat berubah.
- Jika Anda menggunakan profil Visual Basic default, atau jika opsi Simpan proyek baru saat dibuat tidak dipilih di Alat>Opsi>Proyek dan Solusi, Visual Studio tidak dapat membuka kembali proyek Anda saat dihidupkan ulang sebagai proses yang tidak menyadari DPI. Namun, Anda dapat membuka proyek dengan memilihnya di bawah File>Proyek dan Solusi Terbaru.
Penting untuk menghidupkan ulang Visual Studio sebagai proses sadar DPI ketika Anda selesai mengerjakan di Perancang Formulir Windows. Jika Anda menutup dan membuka kembali Visual Studio saat berjalan dalam mode tidak sadar DPI, aplikasi itu menjadi sadar DPI lagi. Anda juga dapat memilih opsi Hidupkan ulang Visual Studio sebagai proses yang sadar DPI di bilah informasi.
Menambahkan entri registri
Sebagai opsi dua, Anda dapat menandai Visual Studio sebagai tidak menyadari DPI dengan memodifikasi registri. Buka Editor Registri dan tambahkan entri ke subkey HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers:
Entri: Bergantung pada apakah Anda menggunakan Visual Studio 2017, 2019, atau 2022, gunakan salah satu nilai berikut:
- C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe
- C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe
- C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe
Catatan
Jika Anda menggunakan Visual Studio edisi Professional atau Enterprise, ganti Community dengan Professional atau Enterprise di entri. Ganti juga huruf kandar seperlunya.
Jenis: REG_SZ
Nilai: DPIUNAWARE
Visual Studio tetap dalam mode tidak sadar DPI hingga Anda menghapus entri registri.
Mengatur pengaturan penskalaan tampilan Anda ke 100%
Opsi ketiga untuk mengatasi masalah ini adalah mengatur pengaturan penskalan tampilan Anda ke 100% dalam Windows 10, ketik pengaturan tampilan di kotak pencarian bilah tugas, lalu pilih Ubah pengaturan tampilan. Di jendela Pengaturan, atur Ubah ukuran teks, aplikasi, dan item lainnya menjadi 100%. Namun, mengatur penskalan tampilan Anda ke 100% mungkin tidak diinginkan karena dapat membuat antarmuka pengguna terlalu kecil untuk digunakan.
Menonaktifkan pemberitahuan
Anda dapat memilih untuk tidak diberi tahu tentang masalah penskalaan DPI di Visual Studio. Anda mungkin ingin menonaktifkan pemberitahuan jika Anda tidak mengerjakan di perancang, misalnya.
Untuk menonaktifkan pemberitahuan:
- Pilih Alat>Opsi untuk membuka dialog Opsi.
- Dalam dialog Opsi, pilih Perancang Formulir Windows>Umum, dan atur Pemberitahuan Penskalan DPI ke False.
Jika nanti Anda ingin mengaktifkan kembali pemberitahuan penskalaan, atur properti ke True.
Pecahkan masalah
Jika transisi kesadaran DPI tidak berfungsi seperti yang diharapkan dalam Visual Studio, periksa untuk melihat apakah Anda memiliki nilai dpiAwareness di subkey HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\devenv.exe di Editor Registri. Hapus nilai jika ada.