フォーム上に表示されている各項目を印刷したいのですが、左揃えの文字は普通に座標指定するだけで問題ないのですが、桁数の違う数字を右揃えで統一して印刷したい場合の方法を教えていただきたく、よろしくお願いいたします。
以前、上記の内容の質問をさせていただきましたところ、String.Formatを使えばよいとのご回答をいただきました。いろいろと調べてみたのですが、実際にどのようにコードに記述すればよいのかがわからずにおります。現在、フォーム上の項目のうち、数値が入力されている項目を印刷するためのコードを次のように記述しています。
'数値の印刷位置
e.Graphics.DrawString(Suuchi1.Text, New Font("MS ゴシック", 12), New SolidBrush(Color.Black), 380, 100)
e.Graphics.DrawString(Suuchi2.Text, New Font("MS ゴシック", 12), New SolidBrush(Color.Black), 380, 150)
e.Graphics.DrawString(Suuchi3.Text, New Font("MS ゴシック", 12), New SolidBrush(Color.Black), 380, 200)
e.Graphics.DrawString(Suuchi4.Text, New Font("MS ゴシック", 12), New SolidBrush(Color.Black), 380, 250)
e.Graphics.DrawString(Suuchi5.Text, New Font("MS ゴシック", 12), New SolidBrush(Color.Black), 380, 300)
'ここまで
これらの数値を右揃えで印刷したい場合、どのようにコードを記述したらよいのか、アドバイスを願います。上記のコードよりももっとスマートなコード記述で、私が望んでいる様な印刷結果を実現できるようでしたら、ご教授のほどよろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
(回答No.1の補足への回答です)
e.Graphics.DrawString(Suuchi1.Text, New Font("MS ゴシック", 12), New SolidBrush(Color.Black), 380, 100)
となっているところを
e.Graphics.DrawString(Suuchi1.Text, New Font("MS ゴシック", 12), New SolidBrush(Color.Black), 380 - e.Graphics.MeasureString(Suuchi1.Text, New Font("MS ゴシック", 12)).Width, 100)
と変更(追加)すると、「座標(380,100)から左詰」が、「座標(380,100)まで右詰」に変わるかと思います。
ありがとうございます。ご回答いただいたコード記述で、私が望んでいたとおりの結果を得ることができました。完璧です。ほんとうにありがとうございます。感謝いたします。
No.3
- 回答日時:
#2>
Suuchi1.Textの中身は、結局文字列ですので、決めた文字数の幅にしてやればいいです。
例えば、
Suuchi1.Textに"1234"が入っていて、10文字の幅を持たせたいという場合
Suuchi1.Textに直接変更すると、内容が変わってしまいますから出力用の変数を用意して
Dim outStr as String
outStr=String.Format("{0,10}",Suuchi1.Text))
e.Graphics.DrawString(outStr, New Font("MS ゴシック", 12), New SolidBrush(Color.Black), 380, 100)
というようにしてやればいいと思います。
この回答への補足
ありがとうございます。たびたびの回答をしていただき感謝しきりです。
現在、数値の印刷結果がセンター揃えになってしまっており、苦戦しております。
何度もご回答をいただき、ありがとうございます。
String.Formatでの対処法、現在なぜかセンター揃えになってしまっているのですが、String.Formatでの右揃えもできるよう、いろいろ試してみます。
とりあえず、現在は回答No.1&No.4様に教えていただいた方法で、私が望むとおりの結果を得ることができました。
回答No.2&No.3様には質問当初からのご回答をいただき、大変感謝しています。ありがとうございます。
No.2
- 回答日時:
String.Formatを使うというのは、要するに、
Suuchi1~5の幅を揃えて、数値の無い部分に空白を埋めるのに使うという意味です。
なので、このまま、等幅フォントで同じ位置から書き出せばいいかと思います。
空白が他の文字と厳密には等幅にならないというようなことでしたら、この方法はうまくないです。
この回答への補足
再度のご回答ありがとうございます。
おっしゃっている内容についてはイメージできるのですが、実際のコード記述がわからずに苦労しているところです。
TextBox1.Textの数値を実際に右寄せで印刷するためのコード記述を教えていただけるとありがたいのですが。。。
No.1
- 回答日時:
若干遠回りになりますが
1. Graphics.MeasureStringを使って「数値を描画した際の全体の横幅」を取得する。
2. 右揃えの座標からその横幅を減じた場所を起点として、Graphics.DrawStringで数値を描画する。
という手順ではいかがでしょうか。
この場合、String.Formatを使用する必要はありません。
この回答への補足
ご回答いただきありがとうございます。おっしゃっている内容、方法論は十分理解できるのですが、それを実際に実現するためのコードの記述がわかりません。
力不足で申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- HTML・CSS HTMLで特定の文字だけ色を変えたいのですが、指定した色と違う色が反映してしまいます。 下記、「前」 5 2023/06/27 12:08
- HTML・CSS スマホ表示用のwebページ、style.cssでは表の中の文字 font-size は指定できない? 1 2023/03/27 18:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外付ディスプレイで AutoHotkey...
-
エクセルVBAで画像を貼り付ける...
-
C#で、画像の、指定した座標の...
-
Windows、自作の画像生データを...
-
画像の座標取得
-
マウスイベントが動かない
-
VBでクリックイベントを発生さ...
-
uwscについて、同一の画像(仮...
-
高さのあるクォータービューの...
-
Windows APIの線などの描画につ...
-
コントロール名とそのプロパテ...
-
VBでプリンター制御コードを記...
-
正確なサイズの図形を印刷させ...
-
HSP 自機狙い
-
マウス自動クリックソフトについて
-
VBで路線図(画像)の駅名をク...
-
UWSC画像認識で座標の位置がず...
-
Excel VBAで他アプリケーション...
-
「ご処理進めて頂きますようお...
-
【Excel】特定の文字を含むセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで画像を貼り付ける...
-
Excel VBAで他アプリケーション...
-
C#で、画像の、指定した座標の...
-
VBでクリックイベントを発生さ...
-
外付ディスプレイで AutoHotkey...
-
マウスイベントが動かない
-
VBAで ScreenToClient を使いたい
-
バナーにリンクを埋め込む方法
-
NoxPlayerとUWSCのadbの座標に...
-
UWSC画像認識で座標の位置がず...
-
VBでデスクトップ上のアイコン...
-
UWSファイルの編集?
-
UWSCのCHKIMG関数について
-
画像中のある座標でマウスオー...
-
VBA HTML要素または文字の座標...
-
JPGの画像ファイルの結合
-
マウスストーカーのようにカー...
-
Unityでピクセル情報を取得する...
-
マウス位置の色を得る
-
uwscについて、同一の画像(仮...
おすすめ情報