如何在运行时更改应用程序字体?

时间:2016-02-20 14:47:42

标签: c#

如何在运行时更改我的app字体?我的应用程序有MDI表单和子表单,我想要在主窗体(MDI表单)中更改应用程序字体并保存在设置中。但是当改变字体时,不会影响菜单和控制。

fontDialog1.ShowDialog();
Font = fontDialog1.Font;

我也添加此代码以更改主窗体中的所有控件。

foreach (Control c in Controls)
{
    c.Font = fontDialog1.Font;
}

但是当前形式的这种效果并不会改变子形式。 而不是在显示

时添加此代码以更改子字体
public FrmChild()
{
    font = myfont;
    foreach (Control c in Controls)
    {
        c.Font = fontDialog1.Font;
    }
    InitializeComponent();
}

1 个答案:

答案 0 :(得分:0)

 FontDialog fd = new FontDialog();
            fd.ShowDialog();
            Settings.Default.MyFont = fd.Font;
            Settings.Default.Save();
            Font = Settings.Default.MyFont;
            foreach (Control c in Controls)
            {
                c.Font = Settings.Default.MyFont;
            }