玄関へお回り下さい。
ページ設定ダイアログボックスを表示する (3個)              (SNo.056)

1.ページ設定ダイアログの表示
2.ページ設定ダイアログの設定結果を印刷プレビューに反映
3.ページ設定ダイアログの設定結果を印刷設定に反映
使用コントロール Button1  Button2 PageSetupDialog1 PrintPreviewDialog1 PrintDocument1
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
 
1.ページ設定ダイアログの表示
 
Private printerPageSetting As New System.Drawing.Printing.PageSettings

Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
    ''ページ設定ダイアログの設定及び表示
    '現在のページ設定ダイアログの設定を指定
    With printerPageSetting.Margins
        .Left = CInt(.Left * 2.54 / 10) * 10
        .Top = CInt(.Top * 2.54 / 10) * 10
        .Right = CInt(.Right * 2.54 / 10) * 10
        .Bottom = CInt(.Bottom * 2.54 / 10) * 10
    End With
    PageSetupDialog1.PageSettings = printerPageSetting
    'ページ設定ダイアログの設定 OK ボタンがクリックされたらプレビュー表示
    If PageSetupDialog1.ShowDialog() = DialogResult.OK Then
        Button2.PerformClick()
    End If
End Sub
 
2.ページ設定ダイアログの設定結果を印刷プレビューに反映

Private
 Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
'印刷プレビューのダイアログボックスの表示位置と大きさを設定
  
'ページ設定ダイアログの設定の内容を反映
    PrintDocument1.DefaultPageSettings = printerPageSetting
    PrintPreviewDialog1.Document = PrintDocument1
    '★表示位置を設定
    PrintPreviewDialog1.StartPosition = FormStartPosition.Manual
    PrintPreviewDialog1.Location = New Point(450, 20)
    '★表示するダイアログの大きさを設定する
    PrintPreviewDialog1.Size = New Size(440, 640)
    '★印刷プレビューの表示倍率を指定
    PrintPreviewDialog1.PrintPreviewControl.Zoom = 0.4

    PrintPreviewDialog1.ShowDialog()
End Sub

3.ページ設定ダイアログの設定結果を印刷設定に反映

Private
 Sub PrintDocument1_PrintPage(ByVal sender As ObjectByVal e As System. _
            Drawing.Printing.PrintPageEventArgs) 
Handles PrintDocument1.PrintPage

    'ページ設定で指定した、四角形の位置とサイズを表す 4 つの浮動小数点数を格納します
   
Dim rect As New RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, _
                                e.MarginBounds.Width, e.MarginBounds.Height)
   
e.Graphics.DrawString(TextBox1.Text, New Font("MS Pゴシック", 12), Brushes.Black, rect)
End Sub

別途、下記で印刷データをご用意下さい

Private Sub Form1_Load(ByVal sender As System.Object, _
                       
ByVal e As System.EventArgs) Handles MyBase.Load
'テキストファイルを丸ごと読み込みテキストボックスに表示
    TextBox1.Clear()
    'テキストファイルを現在のエンコード(シフトJIS)で開く
   
Dim sr As New System.IO.StreamReader("..\..\test.txt", System.Text.Encoding.Default)
    'テキストボックスに読込み表示
    TextBox1.Text = sr.ReadToEnd
    'ストリームを閉じ、システム リソースを解放
    sr.Close()
End Sub






2004/05/10
2005/09/25


VBレスキュー(花ちゃん)
VB.NET2003  VB2005