tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル ReportDocumentを使用して連続用紙の印刷
投稿日: 2013/03/02(Sat) 00:12
投稿者かっちゃん
いつもお世話になり大変助かっております。
VB2010の印刷についてお願いいたします

VB2010からReportDocument(名前:PrtDocument.)を使っての連続帳票を印刷しております
連続帳票は10インチで6枚のラベルがセットになっております。
印刷はできているのですが、終了すると改ページ(10インチ分)してしまいます。
データが1枚しかなくても改ページしてしまうので、改ページせずに、印刷したところで
用紙を止めたいのですが、どのようなロジックにしたらよろしいでしょうか
プリンターはエプソンのVP-700で用紙設定は10 X 10にしてあります

KakuteiDt:データセット
  Hinmei       No
   AAA        11111
     BBB        22222
     CCC        33333
       |            |
       |            |

  Private Sub cmdPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPrint.Click
    PrtDocument.Print()
  End Sub

  Private Sub PrtDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrtDocument.PrintPage
    Dim f As New Font("MS明朝", 10.5, FontStyle.Bold)  ' フォント
    Dim LineHeight As Single = f.GetHeight(e.Graphics)   '1行の高さ
    Dim X As Integer = e.MarginBounds.Left '文字列の描画を開始する縦位置
    Dim Y As Integer = e.MarginBounds.Top  '文字列の描画を開始する横位置
    Dim dtRow As DataRow() = KakuteiDt.Select()
    X = 60
    Y = 0

    For Each row As DataRow In dtRow
      ' 印刷
        e.Graphics.DrawString(row.Item("Hinmei").ToString, f, Brushes.Black, X, Y)
        e.Graphics.DrawString(row.Item("No").ToString, f, Brushes.Black, X, Y)
        Y += LineHeight '縦位置を1行分次に進ませる。
        Y += LineHeight
        Y += LineHeight
        Y += LineHeight
        Y += LineHeight
        Y += LineHeight
        Y += LineHeight
        Y += LineHeight
        Y += LineHeight
        Y = Y - 2        '縦位置微調整
    Next
    e.HasMorePages = False
  End Sub

 よろしくお願いいたします。
  

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。