私のプロジェクトでは、正当化されたテキストの整列とHTMLタグのレンダリングを特徴とするリッチテキストボックスを使用したいと思います。私はウェブ上のすべての例を調べて試しました。しかし、私は私の心のように見つけることができませんでした。AdvRichTextBoxに飽きましたが、HTMLをサポートしていません。私はそれにいくつかの新しい機能を書きたいです。私は以下のようなメソッドを書こうとしました:
private void htmlRTB(AdvRichTextBox rtb)
{
foreach (var line in rtb.Lines)
{
int boldStart = rtb.Find("<b>");
int boldEnd = rtb.Find("</b>");
rtb.Select(boldStart, (boldEnd - boldStart));
rtb.SelectionFont = new Font("Arial", 9, FontStyle.Bold);
line.Replace("<b>", "").Replace("</b>", "");
int italicStart = rtb.Find("<i>");
int italicEnd = rtb.Find("</i>");
rtb.Select(italicStart, (italicEnd - italicStart));
rtb.SelectionFont = new Font("Arial", 9, FontStyle.Italic);
line.Replace("<i>", "").Replace("</i>", "");
}
}
しかし、それはめちゃくちゃでした。HTMLタグを初めて使用したときは、太字または斜体で表示されます。ただし、replaceメソッドは機能しません。また、HTMLタグが2回以上使用された場合、それらは太字または斜体で表示されず、replaceメソッドは機能しません。これはスクリーンショット画像です:
この問題を解決する方法を教えてください。敬具。