「ほっ」と。キャンペーン
カスタムコントロールでのデフォルトのフォントの変更
カスタムコントロール(Butonを継承し+αしたもの)を作っていて、デフォルトでのFontプロパティのフォント種を変えてほしいという話がありました。

実は.NetにControl.DefaultFontというプロパティがあるのですが、これは読み取り専用でしかもMSDNによると、ユーザーのオペレーティング システム、およびシステムのローカル カルチャの設定によって異なるとのこと。
使えなえい。。

Control.Font プロパティをオーバーライドして、
(C#の場合)

[DefaultValue(typeof(Font),"MS ゴシック, 9")] 
public override Font Font{
...
}


(VBの場合)
<DefaultValue(GetType(Font), "MS ゴシック, 9")> _
Public Overrides Property Font() Font
...
End Property

という方法もあるんでしょうが、これだけのことにオーバーライドするのもめんどいのでとりあえず、下記のコードで対応してました。
カスタムコントロール側のコンストラクタで、Fontプロパティ設定。。。
動きは問題ないようなので、これでええんかな?


Public Sub New()
' この呼び出しは、Windows フォーム デザイナで必要です。
InitializeComponent()
' InitializeComponent() 呼び出しの後で初期化を追加します。
 
MyBase.Font = New Font("HG創英角ポップ体", 18, FontStyle.Regular, GraphicsUnit.Point, 1)

End Sub

[PR]
by jehoshaphat | 2008-04-14 11:51 | .Net開発 | Trackback | Comments(0)
トラックバックURL : http://jehupc.exblog.jp/tb/7738993
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。


<< .NET Frameworkの... (vb.net)構成マネージャ... >>