- - PR -
[VS.NET2005][C#]TextBoxを継承したコントロールで・・・
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-02-07 19:09
【環境】
OS:WindowsXPPro VS:VS.NET2005 言語:C# AP:Windowsアプリ TextBoxコントロールを継承して、Enabled=false時のForeColorとBackColorを書き換えるようなコントロールを作成しました。
これで、色については問題なく解決できたのですが、この拡張TextBoxコントロールをFormに貼り付け、デザイナ上で「Enabled=false」「TextAlign=Center」にして実行した後に、「Enabled=true」へプロパティを動的に変更すると、何故かフォントサイズが見た目だけ大きくなってしまいました。 クイックウォッチなどで確認しても、実際にFontプロパティは変わっていません。 あと少しというところで、このような「バグ?」と思われる壁にぶつかるなんて・・・ 何方か、このような現象の回避方法をご存知ではないでしょうか? ご存知の方、是非ご教授願います。 | ||||||||
|
投稿日時: 2007-02-08 01:33
詳しく調べていませんが、たぶんスタイル変更のタイミングの問題で、
コントロールの再作成をしなければならないのだと思います。
を以下のように記述すれば、期待する結果が得られると思います。
| ||||||||
|
投稿日時: 2007-02-08 08:12
うにくまさん、こんにちは。
ご指示の通り「base.RecreateHandle();」を追記したら、思い通りの描画になりました! 本当に有難うございますm(_ _)m |
1