0

rich textboxユーザーがリストからキーワードを選択できる場所があり、それらは別の色で挿入されます。ユーザーは、独自のテキストを入力することもできます。このプログラムは、SQL スニペットの作成に使用されます。

たとえば、ユーザーが入力したテキストは黒で、そのリストのキーワードは青で表示されます。

異なる色の単語を追加する例はいくつか見ましたが、異なる色の単語を挿入する例はありません。

以下は私が試したことです

        public void InsertText(Color color, string text)
    {
        var startposition = _richTextBox.SelectionStart;
        var endposition = startposition + text.Length;

        _richTextBox.Text = _richTextBox.Text.Insert(startposition, text);
        _richTextBox.Select(startposition, endposition - startposition);
        _richTextBox.SelectionColor = color;
        _richTextBox.Select(endposition, 0);
    }

このコードの問題は、テキストが最後以外の場所に挿入された場合、段落の残りの部分が以前の色を保持しないことです。残りのテキストの書式設定を妨げずに、別の色のテキストを挿入する方法はありますか?

4

1 に答える 1

1

次のような Windows フォームの構文強調表示コントロールを使用してみませんか?

http://scintillanet.codeplex.com/

https://code.google.com/p/alsing/wiki/SyntaxBox

最初のものには SQL サポートがあり、デモアプリを使用して次の結果を得るのに、この投稿を書くよりも時間がかかりませんでした.:

ここに画像の説明を入力

于 2013-10-09T22:58:03.907 に答える