من چندین نرم افزار فعال دارم که سالیان قبل نوشتهام و هر چند وقت یکبار باید بروزرسانی و نگهداری شود. این نرم افزار ها با Windows Forms Application نوشته شده و همانطور که احتمالاً میدانید این تکنولوژی محبوب بیش از 20 سال از عمرش میگذرد و به دلیل استفاده از موتور رندرینگ GDI و GDI+ که آن هم بسیار قدیمیست باعث شده است با قابلیت DPI Scaling ناسازگار باشد.
آخرین آپدیت ویندوز 10 نیز شامل امکاناتی برای بهتر کردن تجربه کاربر در هنگام استفاده از نرم افزار های کلاسیک در DPI های بالاست که در تصویر زیر می توانید مشاهده کنید.
یا برای نرم افزار ها به صورت تکی:
این امکانات برای کاربر نهایی میتواند بسیار سودمند باشد اما مشکل بزرگتر هنگام طراحی فرم در ویژوال استودیو رخ میدهد. در نمونه زیر DPI صفحه نمایش روی 125% قرار دارد و میتوانید به هم ریختگی و عدم تطابق فرم رندر شده با نرم افزار در حال اجرا مشاهده میکنید.
برای رفع این مشکل زمانی که لازم بود تغییری در فرم ها ایجاد کنم در تنظیمات ویندوز DPI رو روی 100% قرار میدادم اما مورد آزار دهنده این است که برای اعمال بهتر تغییرات DPI باید یک Sign Out انجام شود که پنجره های در حال اجرا و از همه مهمتر موسیقی در حال پخش قطع میشود!
با اعمال تغییرات و اجرای مجدد ویژوال استودیو همانطور که در تصویر زیر میتوانید مشاهده کنید مشکل برطرف می شود.
درست است که مشکل برطرف میشود اما با DPIی 100% آیکون ها و اجزای ویندوز کوچک میشوند و با آن راحت نیستم و با کار مداوم با آن چشم اذیت می شود.
با آپدیت ویژوال استودیو به آخرین نسخه هنگامی که یک فرم را باز میکنید پیغام زیر نمایش داده میشود. این پیغام مشکل را به شما یادآوری و پیشنهاد میکند Scaling را بر روی 100% درصد قرار دهید. (کاری که تاکنون انجام میدادم).
گزینهای که من را بسی خوشحال کرد "Restart Visual Studio as DPI-unaware process" بود که با کلیک بر روی این گزینه ویژوال استودیو ریاستارت شده و نسبت به DPI سیستم "نا آگاه" میشود و مشکل تا حد زیادی برطرف میشود.
هنگامی که پروسه ویژوال استودیو ریاستارت میشود پیغامی دیگر ظاهر میشود که به شما اطلاع میدهد این DPI-unaware بودن برای برنامه هایی که از XAML استفاده میکنند (مثل برنامه هایی که با WPF نوشته شدهاند) ممکن است باعث نمایش ناصحیح شود. همچنین خود ویژوال استودیو کمی تار به نظر میرسد.
برای دانلود ویژوال استودیو میتوانید به لینک زیر مراجعه کنید:
https://visualstudio.microsoft.com