6

我有一个带有粗体斜体文本的标签。我想通过单击按钮来更改这些字体属性。

我知道了代码Label1.Font = new Font(Label1.Font, FontStyle.Regular);

但是从这段代码中,它将撤消BOLDITALIC属性。我只想删除粗体属性.....

有什么类似的fontsyle.bold = false吗?

4

4 回答 4

13

新建字体时使用原字体的Font.Style& ~ ,用于翻转样式

   label1.Font = new Font(label1.Font, label1.Font.Style & ~FontStyle.Bold);
于 2013-07-20T07:18:17.827 回答
6

你也可以试试这个——

label1.Font = new Font("Arial", 24,FontStyle.Bold);

或者

mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size);

构造函数采用不同的参数。看更多

于 2013-07-20T07:24:21.197 回答
3

最好的选择是使用位码和 XOR 运算符 ^

试试这个代码:

Label1.Font = new Font(Label1.Font.Style ^ FontStyle.Regular);
于 2015-07-31T20:04:19.403 回答
0
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);
    }

这将做你想要的一切

于 2021-11-23T16:36:41.937 回答