• 締切済み

VBのRichTextBoxの文字色変更

VBでテキストエディタを作っています。 使い勝手を良くするために、 キーワード(if,for,while,int,char)に色をつける仕様にしました。 しかし実際動かしてみるとすごくチカチカして使い物になりませんでした。 SelectionStart = 5 : SelectionLength = 10 SelectionColor = Color.Red もしくは Select(5,10) SelectionColor = Color.Red 一度選択してから色を変えるのがいけないと思うのですが、 他に一部の色を変える方法はないでしょうか?

みんなの回答

回答No.1

はじめまして、通りすがると申します。 RichTextBoxなのですが、私も使用したことありますのでその時の体験でよければ ご参考にしてください。 私が使用したときの環境は、vb.net2008で使用したのですが動きを見ますと 最終行を追加し色、フォントを設定するときには毎回最初の行から最終行まで編集する イメージでした。この動きによって数十行程度の編集でも表示に非常に時間がかかる 状況にありました。よって高速にアクセスする場合には、RTFコードを直接解析しな いと、高速化は望めないかと思います。msdnライブラリでは以下のサイトになりま す。 http://msdn.microsoft.com/library/default.asp?url=/library/ en-us/dnrtfspec/html/rtfspec.asp rtfの指定は、非常に見ずらく目がチカチカすると思いますが、もし色のみの指定で 、word等に編集を委ねることをしないのであれば、独自にテキスト属性を制御する方 法を考案しそちらの方で検討したほうがよいかもしれません。

atsushi_21
質問者

お礼

はじめまして、回答ありがとうございます。 >色、フォントを設定するときには毎回最初の行から最終行まで編集す >るイメージでした。 まさにそう作りました。 rtf(RichTextFormat)wikiより、 なるほど非常に難しそうですね。 まだ学習を始めて一年で、それっぽいアプリを作ったのも初なので 今回はこの辺で完成としようかと思います。

関連するQ&A