PrintPreviewControl 印刷プレビュー 
 		
	
	 
	 
	 
 
 
フォームにPrintPreviewControlとPrintDocumentコントロールを貼り付ける。要は自分で印刷プレビューを作成する。 
    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage 
        'このイベントは現在のページに印刷する出力が必要なときに発生します。とMSDNにある 
        '具体的には、フォームデザイン時PrintPreviewControl1のVisibleがfalseになっているのをTrueにした場合。 
        'ボタンイベント等でプレビュー画像を切り替えるのは不可能。 
        '切り替えたい場合は一旦フォームを閉じる必要がある。 
        '他にはデザイン時PrintPreviewControl1のドキュメントプロパティーにこのPrintDocument1を設定した場合。 
        'フォームロード時にPrintPreviewControl1のドキュメントプロパティーにこのPrintDocument1を設定した場合。 
        'となるようだ。 
 
 
        'メタファイルオブジェクト作成 
        Dim metafile As New Imaging.Metafile(Application.StartupPath & "\test.EMF") 
 
        Dim k As Single 
        Dim ra As Rectangle 
 
        '画面・紙のサイズに収まるようにアバウトで計算 
        k = e.MarginBounds.Width / metafile.Size.Width 
        '描画領域 画像サイズを縮小または拡大 
        ra.Width = metafile.Size.Width * k 
        ra.Height = metafile.Size.Height * k 
 
        'サイズを変えて出力 
        e.Graphics.DrawImage(metafile, ra) 
 
        'オブジェクトを破棄 
        metafile.Dispose() 
 
        '文字列を書き込み 
        e.Graphics.DrawString("メタファイルサンプル印刷", _ 
          New Font("MS 明朝", 32), Brushes.Black, _ 
          e.MarginBounds.Left, e.MarginBounds.Top, _ 
          New StringFormat) 
 
        '次のページがないことを通知する 
        e.HasMorePages = False 
 
    End Sub 
 
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
        'フォームサイズに合わせて縮小拡大 
        Me.PrintPreviewControl1.AutoZoom = True 
        Me.PrintPreviewControl1.Document = Me.PrintDocument1 
    End Sub 
 
 
  |  
  
  
	
	
	
	
	
	
	 
	
 
	
	 |