電子書籍の厳選無料作品が豊富!

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

A 回答 (1件)

はじめまして、通りすがると申します。


RichTextBoxなのですが、私も使用したことありますのでその時の体験でよければ
ご参考にしてください。
私が使用したときの環境は、vb.net2008で使用したのですが動きを見ますと
最終行を追加し色、フォントを設定するときには毎回最初の行から最終行まで編集する
イメージでした。この動きによって数十行程度の編集でも表示に非常に時間がかかる
状況にありました。よって高速にアクセスする場合には、RTFコードを直接解析しな
いと、高速化は望めないかと思います。msdnライブラリでは以下のサイトになりま
す。

http://msdn.microsoft.com/library/default.asp?ur …
en-us/dnrtfspec/html/rtfspec.asp

rtfの指定は、非常に見ずらく目がチカチカすると思いますが、もし色のみの指定で
、word等に編集を委ねることをしないのであれば、独自にテキスト属性を制御する方
法を考案しそちらの方で検討したほうがよいかもしれません。
    • good
    • 0
この回答へのお礼

はじめまして、回答ありがとうございます。

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

お礼日時:2010/03/22 07:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!