2011-06-23 22 views
3

フォントプロパティを持つコントロールを停止する方法は、パネル、グループボックス、フォームなどのコンテナコントロールからフォントプロパティを自動的に継承します。Windowsフォーム、フォーム/グループボックス/親のフォントを継承しないように子コントロールを停止する

私は容器にAutoScaleModeをNoneに設定しようとしましたが、何もしませんでした。

提案がありますか?

答えて

2

フォント、ForeColor、BackColor、およびCursorはアンビエントプロパティです。つまり、設定されていない場合は、親コンテナから継承されます。

コントロールがFontプロパティを設定する場合、アンビエントフォントは使用されません。コントロールでFontプロパティが設定されていない場合は、親コンテナから継承されます。

ambientプロパティは、Labelなどの基本コントロールクラスで設定されます。コントロールは、フォントを周囲の値として定義します。これを無効にする唯一の方法は、Fontプロパティをオーバーライドしないようにすることです。 MyLabelなどの新しいコントロールクラスを作成して、WindowsフォームのLabelクラスを拡張し、Fontプロパティをオーバーライドして、周囲にはないようにすることができます。アプリケーションが構築されると、MyLabelクラスをツールボックスからフォームデザイナにドラッグできます。

アンビエントフォントを無効にするユーティリティは表示されません。コンテナがフォントを変更する手間を抱えている場合、どの条件の下でWindowsが選択するものとしてフォントを残すのが好都合ですか?これはユーザーが設定した現在のテーマとは関係ありません。

+0

私は、カスタマイズした色、背景色、フォントを覚えていれば、すでに拡張クラスを使っていましたが、それは、子コントロールが同じ設定を継承していたということでした私が望んでいたものではない。 ありがとう! – Amro

関連する問題