我有一个带有粗体和斜体文本的标签。我想通过单击按钮来更改这些字体属性。
我知道了代码Label1.Font = new Font(Label1.Font, FontStyle.Regular);
但是从这段代码中,它将撤消BOLD和ITALIC属性。我只想删除粗体属性.....
有什么类似的fontsyle.bold = false
吗?
我有一个带有粗体和斜体文本的标签。我想通过单击按钮来更改这些字体属性。
我知道了代码Label1.Font = new Font(Label1.Font, FontStyle.Regular);
但是从这段代码中,它将撤消BOLD和ITALIC属性。我只想删除粗体属性.....
有什么类似的fontsyle.bold = false
吗?
新建字体时使用原字体的Font.Style& ~
,用于翻转样式
label1.Font = new Font(label1.Font, label1.Font.Style & ~FontStyle.Bold);
你也可以试试这个——
label1.Font = new Font("Arial", 24,FontStyle.Bold);
或者
mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size);
构造函数采用不同的参数。看更多
最好的选择是使用位码和 XOR 运算符 ^
试试这个代码:
Label1.Font = new Font(Label1.Font.Style ^ FontStyle.Regular);
private void btn_bold_CheckedChanged(object sender, EventArgs e)
{
label1.Font = label2.Font = new Font( label1.Font,label1.Font.Style ^ FontStyle.Bold);
}
private void btn_italic_Click(object sender, EventArgs e)
{
label1.Font = label2.Font = new Font(label1.Font, label1.Font.Style ^ FontStyle.Italic);
}
private void btn_underline_Click(object sender, EventArgs e)
{
label1.Font = label2.Font = new Font(label1.Font, label1.Font.Style ^ FontStyle.Underline);
}
这将做你想要的一切