Every time that I create a new form in my application, it uses the \"Microsoft Sans Serif, 8.25pt\" font by default. I\'m not changing it because I know that in this case my
Check out this blog entry talking about the default font in Forms which leads to the problem you are experiencing and this Connect Bug with Microsoft's response. In short it just seems that Forms does not get the (correct) default windows font (which you have changed).
You can add before InitializeComponent() in the Form constructor(s):
this.Font = SystemFonts.MessageBoxFont;
This appear to work with Windows XP and Windows Vista.
The controls inside the group box are indeed not affected by the form's Font property. The reason is that controls in container controls are treated as children of the container controls like groupbox, but not children of the main form. In order for all controls including those in groupboxes to scale properly, you can use code similar to below:
foreach (Control ctr in this.Controls)
{
ctr.Font = SystemFonts.IconTitleFont;
// controls in groupboxes are not child of main form
if (ctr.HasChildren)
{
foreach (Control childControl in ctr.Controls)
{
childControl.Font = SystemFonts.IconTitleFont;
}
}
}