以编程方式更改字体

C#不喜欢以下代码:

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

有没有办法以编程方式执行此操作?

Font实例是不可变的。 您需要构造一个新的Font并将其分配给Font属性。 Font类具有用于此目的的各种构造函数; 他们复制另一个实例并更改流程中的样式。

  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); }