- - PR -
印刷をする祭に文字列を右寄せで印刷する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-02-19 12:28
数の合計等を印刷するときに、左寄せではなくて、右寄せで印刷したいのですが、どうすればよいでしょうか?
環境:XP VB.Net windousaアプリケーション クリスタルレポート搭載されていません。 下記が今使用してるソースです。 Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage Dim FontCell As New Font("MS UI Gothic", 9) e.Graphics.DrawString("はじめての印刷", FontCell, New SolidBrush(Color.Black), 50, 50) end sub |
|
投稿日時: 2005-02-19 13:21
MeasureStringで文字列幅を測って、右揃えの基準位置のX座標から
引いて指定するというのでどうですか。 |
|
投稿日時: 2005-02-19 13:44
解答ありがとうございます。
イメージとしては、描画するポイントから左詰めに書き込まれるので それを描画するポイントから右詰めで書き込みされるようなオプション等があればいいと考えています。 |
|
投稿日時: 2005-02-19 14:19
書式属性を指定する StringFormat のメソッド Alignment を指定し、
Graphics.DrawString に、この StringFormat オブジェクトを設定することで可能です。 |
|
投稿日時: 2005-02-19 19:43
ああ、こんないい方法が。
私も勉強になりました。 |
|
投稿日時: 2005-02-21 15:19
返事がおそくなりまして、申し訳けありません。
Os_様 ありがとうございます。 Dim FontCell As New Font("MS UI Gothic", 9) Dim drawFormat As New StringFormat drawFormat.Alignment = StringAlignment.Far e.Graphics.DrawString("はじめての印刷", FontCell, New SolidBrush(Color.Black), 50, 50,drawFormat) 上記で出来ることが出来ました! 他にもプリントするテクニックが出来るようなのでヘルプを見ながらやってみます。 |
1