Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# RichTextBox中的粗体文本类似于word pad_C# - Fatal编程技术网

C# RichTextBox中的粗体文本类似于word pad

C# RichTextBox中的粗体文本类似于word pad,c#,C#,我正在开发一个小的文本编辑器,我希望文本加粗功能类似于MS Word和写字板 如果选择粗体,则文本应以粗体书写 如果取消选择粗体,则文本应为常规文本 若我选择一些文本并按粗体,它应该是粗体的,其余的文本应该保持规则 如果我选择已经加粗的文本并选择加粗,那么它应该成为常规文本 我尝试了MSDN中的以下代码,但它没有按照我想要的方式工作。请帮忙 if (richTextBox.SelectionFont != null) { System.Drawing.

我正在开发一个小的文本编辑器,我希望文本加粗功能类似于MS Word和写字板

  • 如果选择粗体,则文本应以粗体书写
  • 如果取消选择粗体,则文本应为常规文本
  • 若我选择一些文本并按粗体,它应该是粗体的,其余的文本应该保持规则
  • 如果我选择已经加粗的文本并选择加粗,那么它应该成为常规文本
我尝试了MSDN中的以下代码,但它没有按照我想要的方式工作。请帮忙

    if (richTextBox.SelectionFont != null)
    {
            System.Drawing.Font currentFont = richTextBox.SelectionFont;
            System.Drawing.FontStyle newFontStyle;

            if (richTextBox.SelectionFont.Bold == true)
            {
                newFontStyle = FontStyle.Regular;
            }
            else
            {
                newFontStyle = FontStyle.Bold;
            }

            richTextBox.SelectionFont = new Font(
               currentFont.FontFamily,
               currentFont.Size,
               newFontStyle
            );
        }

如果您想更改字体,请改用“richTextBox.Font”,这样在选择此项后键入的任何文本都将变为粗体。对于有效的选择,代码应适用。如果未选择任何内容,您将切换richTextBox.Font而不是richTextBox.SelectionFont,就像Rarilou告诉您的那样。