Menonaktifkan kesadaran DPI untuk memperbaiki masalah HDPI/penskalaan dengan Perancang Formulir Windows di Visual Studio

Berlaku untuk:yesVisual Studio noVisual 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:

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:

Windows Forms Designer on HDPI monitor

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.

Screenshot of the informational bar in Visual Studio to restart in DPI-unaware mode.

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:

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:

  1. Pilih Alat>Opsi untuk membuka dialog Opsi.
  2. 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.