5

フォントのスタイル/色を変更するという意味ではなく、特定の色でブロックを選択するという意味で、RTBのテキストの特定の部分を強調表示する必要があります。これは、デバッグモード中にVisualStudioが行を強調表示する方法と似ています。

RTBを使用してこの機能を実現するにはどうすればよいですか、それとも可能ですか?それが不可能な場合は、上記のタスクを実行する別の方法を聞きたいと思います。

4

3 に答える 3

11

はい、 RichTextBox.SelectionBackColorプロパティを使用してRichTextBox選択のBackColorを設定できます。

int blockStart = 1; //arbitrary numbers to test
int blockLength = 15;
richTextBox1.SelectionStart = blockStart;
richTextBox1.SelectionLength = blockLength;
richTextBox1.SelectionBackColor = Color.Yellow;
于 2012-06-25T04:55:15.210 に答える
8

あなたはScintillaNETを探していると思います。

一方、RTBで自分でこれを実行する場合は、最初にusingTextBoxBase.LinesプロパティlineNumberを見つけることで実行できます。それで ...

//Select the line from it's number
startIndex = richTextBox.GetFirstCharIndexFromLine(lineNumber);
richTextBox.Select(startIndex, length);

//Set the selected text fore and background color
richTextBox.SelectionColor = System.Drawing.Color.White;
richTextBox.SelectionBackColor= System.Drawing.Color.Blue;
于 2012-06-25T04:46:24.973 に答える
1

ここでは、これを実現するためにCustomRichTextBoxを作成しました。

ここでは、シナリオの長いソースコードについて説明します。興味があれば、このユーザーコントロールをあまり気にせずに直接再利用できます

シナリオ

https://sites.google.com/site/greateindiaclub/mobil-apps/windows8/customwpfrichtextboxwithcolorchangeandhighlightfunctionality

ソースコード:

https://github.com/boobalaninfo/CustomRichTextBoxWithHighligh

于 2014-11-26T12:45:37.337 に答える