| Private prtDialog As PrintDialog = Nothing
' ******************************************************
' 印刷プレビューの初期処理
' ******************************************************
Private Sub preview_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles preview.Load
' ツールバーの作り直し
' 現在の印刷アイコンを取得
Dim tool As ToolStrip = PrintPreviewDialog1.Controls(1)
Dim img As System.Drawing.Image = tool.Items(0).Image
' 新しいツールバー用ボタンを作成
Dim ToolStripButton1 As New System.Windows.Forms.ToolStripButton()
ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
' 取得したイメージをセット
ToolStripButton1.Image = tool.Items(0).Image
' デザイナのコードをそのまま使っています
ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
ToolStripButton1.Name = "ToolStripButton1"
ToolStripButton1.Size = New System.Drawing.Size(23, 22)
ToolStripButton1.Text = "ToolStripButton1"
' 現在の印刷ボタンを削除
tool.Items.RemoveAt(0)
' 新しい印刷ボタンを追加
tool.Items.Insert(0, ToolStripButton1)
' ボタンにイベント登録
AddHandler ToolStripButton1.Click, AddressOf print_start
End Sub
' ******************************************************
' 印刷ボタンの処理
' ******************************************************
Private Sub print_start(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles preview.Load
' 作成された時に呼ばれるのでキャンセル
If prtDialog Is Nothing Then
prtDialog = New PrintDialog()
prtDialog.PrinterSettings = New PrinterSettings()
prtDialog.Document = pd
Else
If prtDialog.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
pd.Print()
End If
End If
End Sub
' ******************************************************
' 印刷プレビューダイアログが閉じられた時
' ******************************************************
Private Sub preview_FormClosed(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles preview.FormClosed
prtDialog.Dispose()
prtDialog = Nothing
End Sub
| |