アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB2005でFormに表示されているDataGridViewに検索済みで表示されている内容を用意したボタンを押すと印刷したいのですがソースをどのように書いたらいいか分かりません。
いろんなページを確認しまししたが分かりません。
印刷ができればいいんですけど。

どなたか説明してくださる人はいませんか?

A 回答 (2件)

VBの印刷処理のイベントに


PrintDocumentというイベントがあり、そこで
DataGridViewの内容を書き込むのですが、
こちらのソースが参考になればよいのですが、
Private Sub pd_PrintPage(ByVal sender As Object, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs)

Dim g As Graphics = e.Graphics

'文字列を描く
'g.DrawString(DataGridView1(0, 0).Value, _
' New Font("MS Pゴシック", 12), Brushes.Black, e.MarginBounds.Left, e.MarginBounds.Top)
Dim X As Integer
Dim Y As Integer

Y = e.MarginBounds.Top
For i As Integer = 0 To DataGridView1.Rows.Count - 1
X = e.MarginBounds.Left
For j As Integer = 0 To DataGridView1.Columns.Count - 1
Dim s As String
If DataGridView1(j, i).Value Is Nothing Then
s = ""
Else
s = DataGridView1(j, i).Value.ToString
End If
g.DrawString(s, New Font("MS Pゴシック", 9), Brushes.Black, X, Y)
'g.DrawString(s, _
' New Font("MS Pゴシック", 12), Brushes.Black, X, Y)
X += DataGridView1.Columns(j).Width
Next j
Y += DataGridView1.Rows(i).Height
Next i

'このページで終了
e.HasMorePages = False

End SubこちらはDataGridViewの内容を書き込む際、DataGridViewのRowsと
Columnを同時に移動させるというループ処理です。
このソースでいけばおそらくうまくいくと思うのですが、
いかがでしょう。
    • good
    • 0
この回答へのお礼

かなり参考になり、印刷処理が実現できました。

コードも記述していただき本当にありがとうございました。
非常に助かりました。

お礼日時:2009/05/14 23:49

DataGridView の印刷はDataGridViewの機能にはありません。


印刷するためには印刷用に別の機能をコードで書いてやる必要があります。以下参考になるURLを紹介しておきますから勉強してください。
http://dobon.net/vb/dotnet/graphics/
    • good
    • 1
この回答へのお礼

サイト確認しました。
PrintDocumentを使用するんですね。

今後も教えていただいたサイト等を参考に勉強しようと思います。
ありがとうございました。

お礼日時:2009/05/14 23:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!