フォントサイズを小数点付きで指定して印字したい


見ざる聞かざる土居まさる  2008-01-26 19:27:39  No: 144346  IP: 192.*.*.*

printdocumentで帳票プログラムを作成しています。
 Dim v_f As Font = New Font("MS Pゴシック", 10.5, FontStyle.Regular)
のようにfontsizeを10.5と小数点を使用すると
「縮小変換しないで呼び出される、アクセス可能な 'New' がないため、オーバーロードの解決に失敗しました:」
エラーになります。解決方法はないのでしょうか?

編集 削除
Hongliang  2008-01-26 19:55:14  No: 144347  IP: 192.*.*.*

VB では特に明示しない場合、小数のリテラル値は Double として扱われます。
Font のコンストラクタに渡す値は Single なので型が合いません。
また Double は Single よりも精度が高いため、Double から Single に変換した際に値を正しく表現できなくなる場合があるため、コンパイラなどによる暗黙の変換は行われません。
・10.5F のように値に F サフィクスをつけることで Single 型のリテラル値であると明示する
・CSng 関数で明示的に Single 型に変換する
のような手段が必要です。

編集 削除
さるべーじ  URL  2008-01-26 19:56:39  No: 144348  IP: 192.*.*.*

これは単に、引数の数または型が合わないというエラーなんではないでしょうか。

「〜FontStyle.Regular」の後に、4つ目の引数として

    System.Drawing.GraphicsUnit.Point

と記述してみてはいかがでしょう。

編集 削除