ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้

อาการ

โปรแกรมประยุกต์ Windows Forms ซึ่งใช้ตนเองมาตราส่วนตรรกะสำหรับการตั้งค่า DPI สูง อาจพบผิดปกติมาตราส่วนถ้าโปรแกรมประยุกต์เหล่านี้จะถูกเลือกที่จะเป็นการเปลี่ยนแปลง Microsoft .NET Framework 4.5.2 dpi ความละเอียดสูง โดยใช้การตั้งค่าแฟ้ม.config ของโปรแกรมต่อไปนี้:

<appSettings>
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />

</appSettings>


การแก้ปัญหา

โปรแกรมประยุกต์ที่ใช้เป็นตัวประกอบมาตราส่วนที่ด้านบนของสเกลค่า จะพบมาตราส่วนเมื่อพวกเขาจะเลือกที่จะเข้าไปใน.NET Framework 4.5.2 DPI สูงพัฒนาพิเศษ เมื่อต้องการแก้ไขปัญหานี้ ปรับปรุงตรรกะประกอบมาตราส่วนของแอพลิเคชันเพื่อใช้การปรับมาตราส่วนตามค่าเริ่มต้นToolStrip.ImageScalingSize การเปลี่ยนแปลงนี้จะหลีกเลี่ยงการแนะนำพิเศษมาตราส่วน

ตัวอย่างเช่น แอพลิเคชันที่มีรหัสต่อไปนี้จะปรับขนาดปุ่มบน ToolStrip สองครั้ง:

public MyToolStrip()
{

IntPtr hDC = GetDC(new HandleRef(null, IntPtr.Zero));

double xFactor = GetDeviceCaps(new HandleRef(null, hDC), LOGPIXELSX) / 96.0;

double yFactor = GetDeviceCaps(new HandleRef(null, hDC), LOGPIXELSY) / 96.0;

this.ImageScalingSize = new Size((int)(this.ImageScalingSize.Width * xFactor), (int)(this.ImageScalingSize.Height * yFactor));

InitializeComponent();

}


คุณสามารถใช้รหัสต่อไปนี้เพื่อปรับขนาด จากขนาดเริ่มต้นคง หรือขนาดของรูปที่ต้องการ:

this.ImageScalingSize = new Size((int)(16 * xFactor), (int)(16 * yFactor));


  

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Microsoft Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ

ขอบคุณสำหรับคำติชมของคุณ!

×