Aracılığıyla paylaş


ScaleControl yalnızca gerektiğinde çağrılır

Ölçeklendirme genellikle bir uygulama veya PerMonitorV2 modunda SystemAware çalışırken ve izleyicinin uygulamanın tasarlandığı makineden farklı özel DPI ayarları olduğunda gereklidir. Bu senaryolarda Windows Forms çalışma zamanı, izleyicinin özel DPI ayarlarına göre ölçek faktörünü hesaplar ve yeni ölçek faktörüyle çağrılar ScaleControl(SizeF, BoundsSpecified) sunar. Performansı geliştirmek için, ScaleControl artık yalnızca hesaplanan ölçek faktörü 1,0F'den farklı bir şey olduğunda (yani ölçeklendirme gerektiğinde) çağrılır. Bu değişiklik, geçersiz kılarsa ve geçersiz kılmada ScaleControl herhangi bir özel eylem gerçekleştirirse uygulamanızı bozabilir.

Sürüm kullanıma sunulmuştur

.NET 6 bakımı 6.0.101

Eski davranış

.NET 6 GA sürümünde ve önceki sürümlerde sanal, genel API ScaleControl(SizeF, BoundsSpecified) uygulamanın kapsayıcı denetiminde her PerformAutoScale() çağrıldığında çağrıldı. Başka bir ifadeyle, ölçeklendirme gerekip gerekmediğine bakılmaksızın her düzen veya yazı tipi değişikliği olduğunda yöntemi çağrılır.

Yeni davranış

.NET 6 hizmet sürümlerinden başlayarak, ScaleControl(SizeF, BoundsSpecified) yalnızca formun veya denetimin ölçeklendirilmesi gerektiğinde çağrılır. Windows Forms çalışma zamanı, ölçek faktörünü monitörün özel DPI ayarlarına ve uygulamanın tasarlandığı monitörün DPI ayarlarına göre hesaplar. ScaleControl(SizeF, BoundsSpecified) yalnızca ölçek faktörü ölçeklendirmenin gerekli olduğunu gösteriyorsa çağrılır.

Kategoriyi değiştir

Bu değişiklik kaynak uyumluluğunu etkiler.

Değişiklik nedeni

Bu değişiklik, performansı geliştirmek ve gereksiz düzenlerden kaçınmak için yapılmıştır.

Kodunuzun bu geçersiz kılınabilir yöntemlerde özel, ölçeklendirilemeyen eylemler gerçekleştirip gerçekleştirmediğini denetleyin.

Etkilenen API’ler