私は非常にC#で新しく、ほぼ10年前に電卓、テキストエディタ、DBクライアントを学校に書いています:)私は自分自身と私の同僚のツールを作ろうとしていませんトレースやログを簡単に表示することができます。私たちはメモ帳++を知っているだけで、毎日テキストのハイライト、スタイリングに使っていましたが、メモ帳++を閉じるとこれらのハイライトが失われることがあります。 私の目標は、同じテキストエディタを作成することですが、作業を保存できるようになります。現在、この機能を使用していますので、テキストを選択するときに、ドキュメント全体で同じものを検索し、強調表示します例えば、赤色の背景である。私はこれを追加しました:C#:リッチテキストの自動テキストハイライト
private void richTextBox1_SelectionChanged(object sender, EventArgs e)
{
int startIndex = 0;
while (startIndex<richTextBox1.TextLength)
{
int wordStartIndex = richTextBox1.Find(richTextBox1.SelectedText, startIndex, RichTextBoxFinds.None);
if (wordStartIndex != -1)
{
richTextBox1.SelectionStart = wordStartIndex;
richTextBox1.SelectionLength = richTextBox1.SelectionLength;
richTextBox1.SelectionBackColor = Color.Red;
}
else
break;
startIndex += wordStartIndex + richTextBox1.SelectionLength;
}
}
しかし、私はここにループがあるので、私に "StackOverFlow"を与えます。あなたはそれを私に助けてくれますか? ループバックを避けるために2回の検索を実行する必要があると思います。それとももっと簡単なオプションがありますか?
ありがとう、皆さん!