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

わんくま同盟

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

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


(過去ログ 57 を表示中)
■32366 / )  Re[5]: テキストボックスの前景色
□投稿者/ 魔界の仮面弁士 (992回)-(2009/02/05(Thu) 14:26:08)
2009/02/05(Thu) 14:46:42 編集(投稿者)

# 追加質問になっているようなので、解決済みチェックを外しておきます。

No32365 (よし さん) に返信
> デフォルトだとSystemColors.Windowが設定されていると思いますが、

半分正解・半分不正解です。

> Color.Emptyと同義・・・ではないですよね?
> 何がどう関係しているのでしょうか?

貼ったばかりの TextBox に対して、デザイナ上で ReadOnly プロパティを切り替えてみてください。
それに応じて、BackColor が Window/Control と切り替わりますよね。
なので、初期値が Window というわけではありません。

また、ReadOnly = False であっても、内部的な初期値は Window ではありません。
試しに、開発環境から何か別の色を割り当てた後、Window を再割り当ててみてください。
BackColor プロパティの値が、「太字の "Window"」で表示されますよね。
その後、BackColor を右クリックして、[リセット]を選択してみてください。細字に戻ります。

どちらも同じ "Window" ながら、太字(設定値)と細字(既定値)が変化しています。

すなわち、見た目上の既定値として Window が割り当てられているように見えますが、
実際の初期値は Window ではないという事です。実は Empty が割り当てられています。


そして内部値が Empty の場合、ReadOnly の切り替えによって、BackColor = Window/Control が
切り替わるようになっています。Empty 以外が指定されている場合は切り替わりません。
返信 編集キー/


管理者用

- Child Tree -