以编程方式更改字体

7

C#不喜欢以下代码:

private void btnSizeRandom_Click(object sender, EventArgs e)
{
  btnSizeRandom.Font.Bold = true;
  btnother.Font.Bold = false;
}

有没有一种编程方式可以实现这个功能?
2个回答

18

Font的实例是不可变的。您需要构造一个新的Font并将其分配给Font属性。为此,Font类有各种构造函数;它们复制另一个实例并在过程中更改样式。


11
+1 为了完善这个很好的答案:btnSizeRandom.Font = new Font(btnSizeRandom.Font, FontStyle.Bold);翻译:上述代码意味着设置btnSizeRandom按钮的字体为加粗字体。 - SwDevMan81
@SwDevMan81 另外,您需要:new system.Drawing.Font(btnSizeRandom.Font, FontStyle.Regular); - Recipe

11
    private static Font ChangeBoldStyle(Font org, bool bold) {
        FontStyle style = org.Style;
        if (bold) style |= FontStyle.Bold;
        else style &= ~FontStyle.Bold;
        return new Font(org, style);
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接