Kabul edilen cevap, soruya gerçekten cevap vermiyor; Sadece bu davranışın neden oluştuğunu açıklıyor.
Diğer yanıtlardan bazıları sağlam çözümler önerir, ancak en iyi çözümün, uygulamanızdaki tüm formların bu temel formun Font özelliğini SystemFonts.MessageBoxFont
olarak alması ve bu formdaki formların tümünü temel formunu oluşturmak olduğunu buldum. yapıcı. Bu, uygulamanızın kullanıcı ortamına bağlı olarak çalışma zamanında doğru yazı tipini almasını sağlamakla kalmaz (Hans Passant'ın oluşturduğu potansiyel problemin üstesinden gelmek üzere), Office 2007 olmayan bir XP, Segoe UI yokken Microsoft Sans Serif'e başvurur.), ancak geçerli Windows yazı tipiniz için tasarım zamanı desteğini de verir. Tasarım zamanında doğru yazı tipini kullanmak, Josuegomes'in işaret ettiği problemi çözer, çünkü formda oluşturulan herhangi bir kapsayıcı denetimi, tasarım zamanında form tarafından kullanılan yazı tipini alır.
Yukarıdaki avantajların yanı sıra, oluşturduğunuz her form için yapıcıyı değiştirmeyi hatırlamanız ve uygulamanızdaki tüm formlar arasında tutarlılık sağlamanızın yanı sıra, diğer genel işlevleri yerine getirmeniz için bir yer sağlamanız gerekir. . WinForms uygulamasında hataları düzeltmek için p/invoking, vb. Gibi birkaç farklı şekilde kullanıyorum.
Bu yaklaşımda kalan tek sorun, kalın gibi belirli bir denetim için bir yazı tipi stili ayarlamak istiyorsanız.Gerçekten formun Yazı özelliği etkilenmez
myControl.Font = New Font(Me.Font, FontStyle.Bold)
Bu gerçekten çok üzücü. :( – wasker