ImG*_*reg 3 c# fonts controls bold winforms
我觉得这是一个真正的noob张贴这个,但我似乎找不到任何东西...
我有一个控件,我基本上试图在粗体和非粗体之间切换fontstyle.这应该很简单......
但是,您无法访问Control.Font.Bold属性,因为它是只读的,因此,您需要更改Font属性.
为了大胆,我只是这样做:
this.btn_buttonBolding.Font = new Font(this.btn_buttonBolding.Font, FontStyle.Bold);
Run Code Online (Sandbox Code Playgroud)
不理想,但它的工作原理.但是,我如何去除这种大胆的风格(一旦它已经是粗体)?
我看起来很难重复; 最接近我能找到的是这个,但它并不能完全回答我的情况: 从FontStyle中提取标志(切换FontStyles)[C#]
这将提供如何设置它,但不删除它:以编程方式更改字体
我错过了一个可以做到这一点的字体的简单构造函数吗?或者我只是错过了一些简单的东西?
Ben*_*ene 12
我知道这有点老了,但我遇到了完全相同的问题,并想出了这个:
Font opFont = this.btn_buttonBolding.Font;
if(value)
{
this.btn_buttonBolding.Font = new Font(opFont, opFont.Style | FontStyle.Bold);
}
else
{
this.btn_buttonBolding.Font = new Font(opFont, opFont.Style & ~FontStyle.Bold);
}
Run Code Online (Sandbox Code Playgroud)
神奇的是"〜",即按位NOT.(请参阅MSDN 知识库文章"〜运算符")
FontStyle 枚举包含 5 个不同的值。重置您之前设置的那个是FontStyle.Regular
常规 普通文本。
粗体 粗体文本。
斜体 斜体文本。
下划线 带下划线的文本。
删除线 中间有一条线的文本。
它是一个按位枚举,其中 Regular 为 0。因此单独设置此值会重置所有其他标志