- - PR -
PadLeft メソッドの使い方について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-12-10 14:29
いつも参考にさせていただいております。 以下の環境でWindowsのソフトを開発しています。
Windows XP Pro Framework 2.0 Visual Basic 2005 Expres Edition お尋ねしたいことは、PadLeft メソッドを使って桁の違った数字を1列に並べたいのですが 下1桁の位置が少しずれて表示されます。使い方に問題あるのかと色々試してみましたが、 うまくいきません。コードを記述しますので、よろしくお願いいたします。
以上のpd_PrintPageコードを次のように印刷しています。
印刷部追加 [ メッセージ編集済み 編集者: 未記入 編集日時 2007-12-10 14:44 ] | ||||||||
|
投稿日時: 2007-12-10 14:46
「MS Pゴシック」の「P」は「プロポーショナル」の「P」です。 「MS Pゴシック」は文字ごとにサイズが異なるフォントです。 PadLeftで文字数だけそろえても、文字ごとに横幅が異なっていてはずれてしまいます。 | ||||||||
|
投稿日時: 2007-12-10 14:46
PadLeft メソッドの使い方に問題があるのではなく、フォントに問題があるのではないでしょうか? プロポーショナル フォントと固定ピッチ フォントの違いについて調べてみてはいかがでしょう? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-12-10 14:50
桁がずれるのはフォントの半角空白のせいでは。
DrawStringのオーバーロードで、 StringFormat と Rectangle を指定できますので、調べてみてください。 参考ソース: http://msdn2.microsoft.com/ja-jp/library/system.drawing.stringformatflags(VS.80).aspx | ||||||||
|
投稿日時: 2007-12-10 14:58
れいさん。じゃんぬねっとさん。
早速のお返事、ありがとうござます。早速「New Font("MS Pゴシック", 11)」を 「New Font("MS ゴシック", 11)」に変更して印刷しますと見事に下1桁がそろい ました。感動です。助かりました。 まるくさん。 ありがとうございます。ご提示いただいたサイトを勉強します。 | ||||||||
|
投稿日時: 2007-12-10 23:51
あぁ、フォントはプロポーショナルでなくてもよかったのですね。よく見ればそりゃそうか。
何か先入観があってフォントタイプは変えてはいけないのかと。失礼しました。 |
1