【问题标题】:Cannot "add" bold and italic together in C#不能在 C# 中一起“添加”粗体和斜体
【发布时间】:2020-06-26 21:27:33
【问题描述】:

我正在尝试添加,以便 Bold 和 Italic 可以使用相同的字体(由用户输入),并且我已经使 curStyle -= FontStyle.Italic (和 Bold)工作,但为什么你不能 += 也添加它。

我只是为了试验一下:

FontStyle curStyle = rtbMainWrite.SelectionFont.Style;
if (rtbMainWrite.SelectionFont.Italic == false)
{
      curStyle -= FontStyle.Italic;
} else {
      curStyle -= FontStyle.Italic;
}

rtbMainWrite.SelectionFont = new Font(rtbMainWrite.SelectionFont, curStyle);

但这只是将所有效果加在一起(下划线、删除线、粗体和斜体),但是当我按下粗体按钮(-= FontStyle.Bold)时,粗体消失了,但其他 3 个没有消失,与斜体相同(它删除了斜体并留下了删除线和下划线),认为这可能会有所帮助:)。

Italic 看起来也一样,但显然是斜体而不是粗体。

【问题讨论】:

标签: c#


【解决方案1】:

基于https://stackoverflow.com/a/20641576/5386938

private void ToggleItalic_Click(object sender, EventArgs e)
{
    FontStyle curStyle = rtbMainWrite.SelectionFont.Style;
    if (rtbMainWrite.SelectionFont.Italic)
    {
        curStyle &= ~FontStyle.Italic;
    }
    else
    {
        curStyle |= FontStyle.Italic;
    }
    rtbMainWrite.SelectionFont = new Font(rtbMainWrite.SelectionFont, curStyle);
}

private void ToggleBold_Click(object sender, EventArgs e)
{
    FontStyle curStyle = rtbMainWrite.SelectionFont.Style;
    if (rtbMainWrite.SelectionFont.Bold)
    {
        curStyle &= ~FontStyle.Bold;
    }
    else
    {
        curStyle |= FontStyle.Bold;
    }
    rtbMainWrite.SelectionFont = new Font(rtbMainWrite.SelectionFont, curStyle);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-22
    • 2011-07-18
    • 2019-10-22
    • 2016-01-02
    • 1970-01-01
    • 2012-12-10
    • 2012-07-20
    • 2021-02-19
    相关资源
    最近更新 更多