C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: リッチテキストボックスで文字の色


(過去ログ 52 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■28962 / inTopicNo.1)  リッチテキストボックスで文字の色
  
□投稿者/ ただいま落ちこぼれ中 (1回)-(2008/12/03(Wed) 02:27:55)

分類:[C#] 

2008/12/03(Wed) 09:14:09 編集(投稿者)
2008/12/03(Wed) 09:13:51 編集(投稿者)

C#WINDOWSアプリ開発です

i=0;//はグローバル領域処理


rich.Text = "ABCDEFG";
rich.SelectionStart = 0;
rich.SelectionLength = ++i;
rich.SelectionColor = System.Drawing.Color.Beige;

初めにフォームコンストラクタでrich.Text = "ABCDEFG";としています
上記コードはキーダウン時処理です。
二行目のrich.Text = "ABCDEFG";をコメントし実行すると
キーイベントに来るたびに一文字ずつ色がBeigeになります。そういった動きを正としますが
コメントを外すと初めのキーイベントではAが色が変わり問題ありませんが、二回目のキーイベントで
AからGまでがBeigeに変わってしまいます
原因がよくわかりません。ご教示お願い致します


引用返信 編集キー/
■28963 / inTopicNo.2)  Re[1]: リッチテキストボックスで文字の色
□投稿者/ 倉田 有人 (3回)-(2008/12/03(Wed) 06:15:16)
2008/12/03(Wed) 06:16:16 編集(投稿者)

No28962 (ただいま落ちこぼれ中 さん) に返信
> C#WINDOWSアプリ開発です
>
> i=0;
> rich.Text = "ABCDEFG";
> rich.SelectionStart = 0;
> rich.SelectionLength = ++i;
> rich.SelectionColor = System.Drawing.Color.Beige;
>
> 初めにフォームコンストラクタでrich.Text = "ABCDEFG";としています
> 上記コードはキーダウン時処理です。
> 二行目のrich.Text = "ABCDEFG";をコメントし実行すると
> キーイベントに来るたびに一文字ずつ色がBeigeになります。そういった動きを正としますが
> コメントを外すと初めのキーイベントではAが色が変わり問題ありませんが、二回目のキーイベントで
> AからGまでがBeigeに変わってしまいます
> 原因がよくわかりません。ご教示お願い致します
>
>

デバッグでSelectionLengthの値を確認してみてください。
引用返信 編集キー/
■28964 / inTopicNo.3)  Re[1]: リッチテキストボックスで文字の色
□投稿者/ 倉田 有人 (4回)-(2008/12/03(Wed) 06:16:32)
No28962 (ただいま落ちこぼれ中 さん) に返信
> C#WINDOWSアプリ開発です
>
> i=0;
> rich.Text = "ABCDEFG";
> rich.SelectionStart = 0;
> rich.SelectionLength = ++i;
> rich.SelectionColor = System.Drawing.Color.Beige;
>
> 初めにフォームコンストラクタでrich.Text = "ABCDEFG";としています
> 上記コードはキーダウン時処理です。
> 二行目のrich.Text = "ABCDEFG";をコメントし実行すると
> キーイベントに来るたびに一文字ずつ色がBeigeになります。そういった動きを正としますが
> コメントを外すと初めのキーイベントではAが色が変わり問題ありませんが、二回目のキーイベントで
> AからGまでがBeigeに変わってしまいます
> 原因がよくわかりません。ご教示お願い致します
>
>
引用返信 編集キー/
■28967 / inTopicNo.4)  Re[2]: リッチテキストボックスで文字の色
□投稿者/ ただいま落ちこぼれ中 (2回)-(2008/12/03(Wed) 09:14:59)
デバッグしましたが二回目は2が入っていて問題ありません

引用返信 編集キー/
■28982 / inTopicNo.5)  Re[1]: リッチテキストボックスで文字の色
□投稿者/ .SHO (281回)-(2008/12/03(Wed) 10:52:10)
No28962 (ただいま落ちこぼれ中 さん) に返信

> rich.Text = "ABCDEFG";
> rich.SelectionStart = 0;
> rich.SelectionLength = ++i;
> rich.SelectionColor = System.Drawing.Color.Beige;

キーイベントごとに毎回

rich.Text = "ABCDEFG";

で、新しい文字列を入れるには、その前に

rich.Clear();

で、初期化してください。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -