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


見ざる聞かざる土居まさる  2008-01-27 04:27:39  No: 144346

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


Hongliang  2008-01-27 04:55:14  No: 144347

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


さるべーじ  URL  2008-01-27 04:56:39  No: 144348

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

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

    System.Drawing.GraphicsUnit.Point

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


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加