Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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# 如何转换中间的文本<;i>;及</i>;以斜体显示并使标记在richtextbox C中消失#_C#_.net_Formatting_Richtextbox_Italic - Fatal编程技术网

C# 如何转换中间的文本<;i>;及</i>;以斜体显示并使标记在richtextbox C中消失#

C# 如何转换中间的文本<;i>;及</i>;以斜体显示并使标记在richtextbox C中消失#,c#,.net,formatting,richtextbox,italic,C#,.net,Formatting,Richtextbox,Italic,我将此文本保存在richtextbox中: 那些你给予你祝福的人,那些没有招致你不满的人,那些没有误入歧途的人的道路。 介于和之间的内容应转换为斜体,并且标记不应出现 我使用了以下代码: richTextBox1.Select(richTextBox1.Text.IndexOf("</i>") + 1, richTextBox1.Text.IndexOf("<i>") - richTextBox1.Text.IndexOf("</i>") - 1); Font

我将此文本保存在richtextbox中: 那些你给予你祝福的人,那些没有招致你不满的人,那些没有误入歧途的人的道路。 介于和之间的内容应转换为斜体,并且标记不应出现

我使用了以下代码:

richTextBox1.Select(richTextBox1.Text.IndexOf("</i>") + 1, richTextBox1.Text.IndexOf("<i>") - richTextBox1.Text.IndexOf("</i>") - 1);
Font italicFont = new Font("Cambira", 14, FontStyle.Italic);
richTextBox1.SelectionFont = italicFont;
richTextBox1.Select(richTextBox1.Text.IndexOf(“”+1,richTextBox1.Text.IndexOf(“”)-richTextBox1.Text.IndexOf(“”-1);
字体斜体字体=新字体(“Cambira”,14,FontStyle.Italic);
richTextBox1.SelectionFont=斜体字体;

但是这段代码不起作用,我如何修复它?

在将文本放入RichTextBox之前,最好使用正则表达式替换文本。然而,要用代码来实现它,您可以使用这个

    int token = -1;
    int token2 = -1;

    richTextBox1.Text = richTextBox1.Text.Replace(" <", "<");
    richTextBox1.Text = richTextBox1.Text.Replace("< ", "<");
    richTextBox1.Text = richTextBox1.Text.Replace(" >", ">");
    richTextBox1.Text = richTextBox1.Text.Replace("> ", ">");

    while (richTextBox1.Text.IndexOf("<i>") > -1)
    {
      token = richTextBox1.Text.IndexOf("<i>");
      token2 = richTextBox1.Text.IndexOf("</i>", token) + 4;
      string clip = richTextBox1.Text.Substring(token, token2 - token);

      Font italicFont = new Font("Cambira", 14, FontStyle.Italic);
      richTextBox1.Select(token, token2 - token);
      richTextBox1.SelectionFont = italicFont;
      richTextBox1.SelectedText = " " + clip.Replace("<i>", "").Replace("</i>", "") + " ";
    }
int-token=-1;
int-2=-1;
richTextBox1.Text=richTextBox1.Text.Replace(“,”>”);
while(richTextBox1.Text.IndexOf(“”>-1)
{
token=richTextBox1.Text.IndexOf(“”);
token2=richTextBox1.Text.IndexOf(“,token)+4;
string clip=richTextBox1.Text.Substring(token,token2-token);
字体斜体字体=新字体(“Cambira”,14,FontStyle.Italic);
richTextBox1.选择(令牌,令牌2-令牌);
richTextBox1.SelectionFont=斜体字体;
richTextBox1.SelectedText=“”+剪辑。替换(“,”)。替换(“,”)+”;
}

Do it like Link对我不起作用。谢谢,此代码可以工作,但它会更改所有文本的字体和大小。如何确保此代码仅在有标记时运行?我尝试了:if(richTextBox1.Lines.Contains(“”{//上面的代码在这里}),但是这个if语句没有运行……我如何修复这个问题?