タイトル | : Re^2: PrintPageイベントを発生させる方法 |
記事No | : 6870 |
投稿日 | : 2008/01/21(Mon) 11:34 |
投稿者 | : k58 |
> 何方からも回答が無いのは、何がやりたくて、現状はどのようにしていて、どうなって > いるのかが、これを見ている人には伝わらないからです。 > > >PrintPageイベントを発生させる方法 > 上記は、やりたい事ではなく、貴方が、やりたい事を実現させる為に考えた、方法の > 話で、本来は、印刷する為に貴方がどのようなコードを書いて、どこが拙くて印刷 > 出来ないかが問題かと思うのでその辺がこれを見ている人に伝わるように、事象を再現 > できる簡単なコード書いて投稿でもされないとレスがつかないかと。 > > 想像するに下記と同様な事だとは思うのですが。 > > http://hanatyan.sakura.ne.jp/bbs/wforum.cgi?mode=allread&no=1910
花ちゃん 様 自分の説明が不足なので、申し訳ございません。目的が、一つの画面(フォーム)で、検索条件を変えながら、売上のプレビュー結果を確認したいのことです。フォームのLoad時点で、プレビューできますが、それ以後に画面の更新できません。Buttonの押す動作をPrintPageと連動できません。PrintPageが二度と発生しません。 説明の為に、コートの抜粋をリストします。どこが問題があるのがご指導を宜しくお願いします。
'-----------------------------------------
Public Class Form1
Dim mPrintd As New System.Drawing.Printing.PrintDocument Dim mPpc As New PrintPreviewControl Dim mData As String Dim mRowOfPage As Integer = 30 Dim mCurrentRow As Integer Dim mKikan1 As New DateTimePicker '集計期間 Dim mKikan2 As New DateTimePicker '集計期間
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click 'mKikan1, mKikan2 集計期間を変えれば、ここから再プレビューしたいですが、上手く行かない PrintPage を発生させないです End Sub
Private Sub mPrintd_PrintPage(ByVal sender As Object, _ ByVal e As Printing.PrintPageEventArgs) Dim g As Graphics = e.Graphics g.PageUnit = GraphicsUnit.Point mCurrentRow = 10 g.DrawString(mData, New Font("MS Pゴシック", 12), Brushes.Black, 20, 25)
If mCurrentRow < mRowOfPage Then e.HasMorePages = False Else e.HasMorePages = True
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load AddPrintDocument() mData = "ここには売上集計の結果を表示する。" & vbCrLf & "売上集計期間を変えれば、再び、売上集計の結果をここに確認したいです" End Sub Private Sub AddPrintDocument() AddHandler mPrintd.PrintPage, AddressOf mPrintd_PrintPage
Controls.Add(mPpc)
Dim t_h As Integer = Button1.Top + Button1.Height mPpc.Location = New Point(0, t_h) mPpc.Size = New Size(Me.Width - t_h, Me.Height - 2 * t_h) mPpc.Zoom = 1 mPpc.Document = mPrintd mPrintd.DefaultPageSettings.Landscape = True
End Sub
End Class '----------------------------------------
|