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

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

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

Re[2]: Win7 での TextBoxRender クラスの結果


(過去ログ 75 を表示中)

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

■44544 / inTopicNo.1)  Win7 での TextBoxRender クラスの結果
  
□投稿者/ Ruku (1回)-(2009/12/11(Fri) 15:52:56)

分類:[.NET 全般] 

C#, VS2008, .NET Framework 3.5

Windows7 環境で TextBoxRender クラスの描画を行うと、WindowsXP 環境のイメージで描画されました。
VisualStyleRenderer クラス (引数 VisualStyleElement.TextBox.TextEdit.Normal) を利用した場合も同様でした。

また、TextBox.DrawToBitmap メソッドの結果も XP のスタイルで描画されていました。

目的は Control から派生させたカスタムコントロールの外観を TextBox に似せたいたのです。
見た目の問題なので簡単な方法がなければ諦めるのですが、他に何か手はあるでしょうか。

TextBox から派生させれば外観の問題は解消するのですが、やりたくありません。
不要な (入力などの) 機能を制御するのが問題になるので...

# ButtonRenderer.DrawButton メソッドで描画したボタンは Windows7 のスタイルでした。
# また、Vista 環境での結果は分かりません。
引用返信 編集キー/
■44635 / inTopicNo.2)  Re[1]: Win7 での TextBoxRender クラスの結果
□投稿者/ はつね (1141回)-(2009/12/14(Mon) 15:01:11)
はつね さんの Web サイト
No44544 (Ruku さん) に返信
> 目的は Control から派生させたカスタムコントロールの外観を TextBox に似せたいたのです。

Controlから派生させたコントロールにTextBoxの外観を実装するのがいいのか、
TextBoxから派生させたコントロールで不要な機能を制限するのを実装するのがいいのか、
のどちらを行うのかという問題だと思います。
外観を似せる、そして機能は削減するならば後者の方が良いと思います。

引用返信 編集キー/
■44642 / inTopicNo.3)  Re[2]: Win7 での TextBoxRender クラスの結果
□投稿者/ Ruku (1回)-(2009/12/14(Mon) 17:03:44)
No44635 (はつね さん) に返信
> Controlから派生させたコントロールにTextBoxの外観を実装するのがいいのか、
> TextBoxから派生させたコントロールで不要な機能を制限するのを実装するのがいいのか、
> のどちらを行うのかという問題だと思います。
> 外観を似せる、そして機能は削減するならば後者の方が良いと思います。

そうですね、後者ならば要望を満たせそうではあります。
外観以外の機能は不要なのに TextBox から派生させて機能を握りつぶすのは何だか無駄な気がしたり、
全ての不要な機能を握りつぶす作業に漏れが出ないかを危惧しています。

不要なプロパティやメソッドを隠蔽する作業は注意すれば良さそうですが、
入力のフォーカス制御や右クリック時の処理など、ユーザの操作による箇所の潰しに見落としが出そうなので。
私が思いつく UI 制御はその程度ですが、知らないだけで他に必要な制御もあるかもしれませんし。

なので、先に提示した方法以外で外観を似せることができれば最適かと思いました。
後者の案が容易く実装できるのなら良いとも思うのですが。

TextBox のほぼ全ての機能を無効にする簡単な方法があるのでしょうか?
Enabled = false にすればとも思いましたが、そうすると子コントロールも無効状態となってしまいました。
# Control から派生していますが、ユーザーコントロールのように子コントロールを追加しています。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -