VB.Net Tutorial/GUI/Print Dialog — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 15:56, 26 мая 2010
Содержание
Display Print dialog and get settings
<source lang="vbnet">Imports System.IO Imports System.Windows.Forms public class PageSetupDialogSettings
public Shared Sub Main Dim PrintDB As New PrintDialog() PrintDB.Document = New System.Drawing.Printing.PrintDocument() If (PrintDB.ShowDialog() = DialogResult.OK) Then Console.WriteLine("Printer: " & PrintDB.PrinterSettings.PrinterName) Console.WriteLine("From Page: " & PrintDB.PrinterSettings.FromPage) Console.WriteLine("To Page: " & PrintDB.PrinterSettings.ToPage) Console.WriteLine("Print Range: " & PrintDB.PrinterSettings.PrintRange) Console.WriteLine("Copies: " & PrintDB.PrinterSettings.Copies) If (PrintDB.PrinterSettings.LandscapeAngle = 90) Then Console.WriteLine("Landscape") Else Console.WriteLine("Portrait") End If Console.WriteLine("Allow Print to File: " & PrintDB.AllowPrintToFile) Console.WriteLine("AllowSelection: " & PrintDB.AllowSelection) Console.WriteLine("Allow Some Pages: " & PrintDB.AllowSomePages) Console.WriteLine("Print to File: " & PrintDB.PrintToFile) Console.WriteLine("Show Network: " & PrintDB.ShowNetwork) End If End Sub
End class</source>
Has more pages
<source lang="vbnet">Imports System.Windows.Forms Imports System.Drawing public class PrintDialogHasMorePage
public Shared Sub Main Application.Run(New Form1) End Sub
End class
Public Class Form1
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click If pdlgRectangle.ShowDialog() = Windows.Forms.DialogResult.OK Then pdocRectangle.Print() End If End Sub Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles pdocRectangle.PrintPage e.Graphics.DrawRectangle(Pens.Black, 100, 100, 600, 300) e.HasMorePages = False End Sub
End Class <Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _ Partial Public Class Form1
Inherits System.Windows.Forms.Form "Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub "Required by the Windows Form Designer Private components As System.ruponentModel.IContainer "NOTE: The following procedure is required by the Windows Form Designer "It can be modified using the Windows Form Designer. "Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.pdlgRectangle = New System.Windows.Forms.PrintDialog Me.pdocRectangle = New System.Drawing.Printing.PrintDocument Me.btnPrint = New System.Windows.Forms.Button Me.SuspendLayout() " "pdlgRectangle " Me.pdlgRectangle.AllowSomePages = True Me.pdlgRectangle.Document = Me.pdocRectangle " "btnPrint " Me.btnPrint.Location = New System.Drawing.Point(112, 40) Me.btnPrint.Name = "btnPrint" Me.btnPrint.Size = New System.Drawing.Size(64, 24) Me.btnPrint.TabIndex = 1 Me.btnPrint.Text = "Print" " "Form1 " Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(292, 134) Me.Controls.Add(Me.btnPrint) Me.Name = "Form1" Me.Text = "UsePringDialog" Me.ResumeLayout(False) End Sub Friend WithEvents pdlgRectangle As System.Windows.Forms.PrintDialog Friend WithEvents pdocRectangle As System.Drawing.Printing.PrintDocument Friend WithEvents btnPrint As System.Windows.Forms.Button
End Class</source>
PrintSettings for a Print dialog
<source lang="vbnet">Imports System.Windows.Forms Imports System.Drawing.Text Imports System.Drawing Imports System.Drawing.Drawing2D public class PrintDialogPrinterSetting
public Shared Sub Main Application.Run(New Form1) End Sub
End class Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim PrintDialog1 As New PrintDialog() Dim PrintDocument1 As System.Drawing.Printing.PrintDocument PrintDialog1.Document = PrintDocument1 PrintDialog1.PrinterSettings.Copies = 5 PrintDialog1.PrinterSettings.FromPage = 1 PrintDialog1.PrinterSettings.ToPage = 5 If PrintDialog1.ShowDialog = DialogResult.OK Then PrintDocument1.Print() End If End Sub
End Class <Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _ Partial Class Form1
Inherits System.Windows.Forms.Form "Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub "Required by the Windows Form Designer Private components As System.ruponentModel.IContainer "NOTE: The following procedure is required by the Windows Form Designer "It can be modified using the Windows Form Designer. "Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.PrintDialog1 = New System.Windows.Forms.PrintDialog Me.Button1 = New System.Windows.Forms.Button Me.SuspendLayout() " "PrintDialog1 " Me.PrintDialog1.UseEXDialog = True " "Button1 " Me.Button1.Location = New System.Drawing.Point(136, 145) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(75, 23) Me.Button1.TabIndex = 0 Me.Button1.Text = "Button1" Me.Button1.UseVisualStyleBackColor = True " "Form1 " Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(364, 200) Me.Controls.Add(Me.Button1) Me.Name = "Form1" Me.Text = "Form1" Me.ResumeLayout(False) End Sub Friend WithEvents PrintDialog1 As System.Windows.Forms.PrintDialog Friend WithEvents Button1 As System.Windows.Forms.Button
End Class</source>
Print three pages out
<source lang="vbnet">Imports System.Windows.Forms Imports System.Drawing.Printing Imports System.Drawing
public class PrintPagesOut
public Shared Sub Main Application.Run(New Form1) End Sub
End class Public Class Form1
Private currentPageNumber As Integer = 1 Private Sub pdocShapes_PrintPage(ByVal sender As System.Object, _ ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles pdocShapes.PrintPage Select Case currentPageNumber Case 1 e.Graphics.DrawRectangle(Pens.Green, e.MarginBounds()) e.HasMorePages = True currentPageNumber += 1 Case 2 e.Graphics.DrawRectangle(Pens.Green, e.MarginBounds()) e.HasMorePages = True currentPageNumber += 1 Case 3 e.Graphics.DrawEllipse(Pens.Blue, e.MarginBounds()) e.HasMorePages = False currentPageNumber = 1 End Select End Sub
End Class <Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _ Partial Public Class Form1
Inherits System.Windows.Forms.Form "Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub "Required by the Windows Form Designer Private components As System.ruponentModel.IContainer "NOTE: The following procedure is required by the Windows Form Designer "It can be modified using the Windows Form Designer. "Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.pdocShapes = New System.Drawing.Printing.PrintDocument Me.ppvShapes = New System.Windows.Forms.PrintPreviewControl Me.SuspendLayout() " "ppvShapes " Me.ppvShapes.AutoZoom = False Me.ppvShapes.Columns = 3 Me.ppvShapes.Dock = System.Windows.Forms.DockStyle.Fill Me.ppvShapes.Document = Me.pdocShapes Me.ppvShapes.Location = New System.Drawing.Point(0, 0) Me.ppvShapes.Name = "ppvShapes" Me.ppvShapes.Size = New System.Drawing.Size(544, 228) Me.ppvShapes.TabIndex = 1 Me.ppvShapes.Zoom = 0.18509803921568627 " "Form1 " Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(544, 228) Me.Controls.Add(Me.ppvShapes) Me.Name = "Form1" Me.Text = "UsePrintPreviewControl" Me.ResumeLayout(False) End Sub Friend WithEvents pdocShapes As System.Drawing.Printing.PrintDocument Friend WithEvents ppvShapes As System.Windows.Forms.PrintPreviewControl
End Class</source>