Mega Code Archive

 
Categories / VB.Net / GUI
 

Print Test

Imports System.Drawing.Printing Imports System.Windows.Forms Imports System.Drawing <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class Form1     Inherits System.Windows.Forms.Form     <System.Diagnostics.DebuggerStepThrough()> _     Private Sub InitializeComponent()         Me.cmdPreviewInForm = New System.Windows.Forms.Button         Me.Preview = New System.Windows.Forms.PrintPreviewControl         Me.cmdPreview = New System.Windows.Forms.Button         Me.lblStatus = New System.Windows.Forms.Label         Me.cmdPrint = New System.Windows.Forms.Button         Me.GroupBox1 = New System.Windows.Forms.GroupBox         Me.RadioButton1 = New System.Windows.Forms.RadioButton         Me.RadioButton2 = New System.Windows.Forms.RadioButton         Me.RadioButton3 = New System.Windows.Forms.RadioButton         Me.RadioButton4 = New System.Windows.Forms.RadioButton         Me.RadioButton5 = New System.Windows.Forms.RadioButton         Me.GroupBox1.SuspendLayout()         Me.SuspendLayout()         '         'cmdPreviewInForm         '         Me.cmdPreviewInForm.Location = New System.Drawing.Point(12, 76)         Me.cmdPreviewInForm.Name = "cmdPreviewInForm"         Me.cmdPreviewInForm.Size = New System.Drawing.Size(148, 24)         Me.cmdPreviewInForm.TabIndex = 9         Me.cmdPreviewInForm.Text = "Preview (In Form)"         '         'Preview         '         Me.Preview.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _                     Or System.Windows.Forms.AnchorStyles.Left) _                     Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)         Me.Preview.AutoZoom = False         Me.Preview.Location = New System.Drawing.Point(180, 12)         Me.Preview.Name = "Preview"         Me.Preview.Size = New System.Drawing.Size(339, 350)         Me.Preview.TabIndex = 8         '         'cmdPreview         '         Me.cmdPreview.Location = New System.Drawing.Point(12, 44)         Me.cmdPreview.Name = "cmdPreview"         Me.cmdPreview.Size = New System.Drawing.Size(148, 24)         Me.cmdPreview.TabIndex = 7         Me.cmdPreview.Text = "Preview (Stand-alone)"         '         'lblStatus         '         Me.lblStatus.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _                     Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)         Me.lblStatus.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D         Me.lblStatus.Location = New System.Drawing.Point(12, 235)         Me.lblStatus.Name = "lblStatus"         Me.lblStatus.Size = New System.Drawing.Size(148, 127)         Me.lblStatus.TabIndex = 6         '         'cmdPrint         '         Me.cmdPrint.Location = New System.Drawing.Point(12, 12)         Me.cmdPrint.Name = "cmdPrint"         Me.cmdPrint.Size = New System.Drawing.Size(148, 24)         Me.cmdPrint.TabIndex = 5         Me.cmdPrint.Text = "Print"         '         'GroupBox1         '         Me.GroupBox1.Controls.Add(Me.RadioButton5)         Me.GroupBox1.Controls.Add(Me.RadioButton4)         Me.GroupBox1.Controls.Add(Me.RadioButton3)         Me.GroupBox1.Controls.Add(Me.RadioButton2)         Me.GroupBox1.Controls.Add(Me.RadioButton1)         Me.GroupBox1.Location = New System.Drawing.Point(12, 108)         Me.GroupBox1.Name = "GroupBox1"         Me.GroupBox1.Size = New System.Drawing.Size(148, 111)         Me.GroupBox1.TabIndex = 10         Me.GroupBox1.TabStop = False         Me.GroupBox1.Text = "Zoom"         '         'RadioButton1         '         Me.RadioButton1.AutoSize = True         Me.RadioButton1.Location = New System.Drawing.Point(16, 17)         Me.RadioButton1.Name = "RadioButton1"         Me.RadioButton1.Size = New System.Drawing.Size(48, 17)         Me.RadioButton1.TabIndex = 11         Me.RadioButton1.TabStop = True         Me.RadioButton1.Text = "25%"         Me.RadioButton1.UseVisualStyleBackColor = True         '         'RadioButton2         '         Me.RadioButton2.AutoSize = True         Me.RadioButton2.Location = New System.Drawing.Point(16, 34)         Me.RadioButton2.Name = "RadioButton2"         Me.RadioButton2.Size = New System.Drawing.Size(48, 17)         Me.RadioButton2.TabIndex = 12         Me.RadioButton2.TabStop = True         Me.RadioButton2.Text = "50%"         Me.RadioButton2.UseVisualStyleBackColor = True         '         'RadioButton3         '         Me.RadioButton3.AutoSize = True         Me.RadioButton3.Location = New System.Drawing.Point(16, 68)         Me.RadioButton3.Name = "RadioButton3"         Me.RadioButton3.Size = New System.Drawing.Size(54, 17)         Me.RadioButton3.TabIndex = 13         Me.RadioButton3.TabStop = True         Me.RadioButton3.Text = "100%"         Me.RadioButton3.UseVisualStyleBackColor = True         '         'RadioButton4         '         Me.RadioButton4.AutoSize = True         Me.RadioButton4.Location = New System.Drawing.Point(16, 85)         Me.RadioButton4.Name = "RadioButton4"         Me.RadioButton4.Size = New System.Drawing.Size(54, 17)         Me.RadioButton4.TabIndex = 14         Me.RadioButton4.TabStop = True         Me.RadioButton4.Text = "200%"         Me.RadioButton4.UseVisualStyleBackColor = True         '         'RadioButton5         '         Me.RadioButton5.AutoSize = True         Me.RadioButton5.Location = New System.Drawing.Point(16, 51)         Me.RadioButton5.Name = "RadioButton5"         Me.RadioButton5.Size = New System.Drawing.Size(48, 17)         Me.RadioButton5.TabIndex = 15         Me.RadioButton5.TabStop = True         Me.RadioButton5.Text = "75%"         Me.RadioButton5.UseVisualStyleBackColor = True         '         'Form1         '         Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)         Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font         Me.ClientSize = New System.Drawing.Size(531, 374)         Me.Controls.Add(Me.GroupBox1)         Me.Controls.Add(Me.cmdPreviewInForm)         Me.Controls.Add(Me.Preview)         Me.Controls.Add(Me.cmdPreview)         Me.Controls.Add(Me.lblStatus)         Me.Controls.Add(Me.cmdPrint)         Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))         Me.Text = "Print Test"         Me.GroupBox1.ResumeLayout(False)         Me.GroupBox1.PerformLayout()         Me.ResumeLayout(False)     End Sub     Friend WithEvents cmdPreviewInForm As System.Windows.Forms.Button     Friend WithEvents Preview As System.Windows.Forms.PrintPreviewControl     Friend WithEvents cmdPreview As System.Windows.Forms.Button     Friend WithEvents lblStatus As System.Windows.Forms.Label     Friend WithEvents cmdPrint As System.Windows.Forms.Button     Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox     Friend WithEvents RadioButton4 As System.Windows.Forms.RadioButton     Friend WithEvents RadioButton3 As System.Windows.Forms.RadioButton     Friend WithEvents RadioButton2 As System.Windows.Forms.RadioButton     Friend WithEvents RadioButton1 As System.Windows.Forms.RadioButton     Friend WithEvents RadioButton5 As System.Windows.Forms.RadioButton     Private WithEvents MyDoc As New PrintDocument()     Private PageNumber As Integer     Private Offset As Integer     Private PrintData(100) As String     Private Sub PrintStatus_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load         Dim i As Integer         For i = 0 To 100             PrintData(i) = "This is line number " & i + 1 & ". "         Next     End Sub     Private Sub cmdPrint_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles cmdPrint.Click         lblStatus.Text = ""         PageNumber = 0         Offset = 0         Dim dlgSettings As New PrintDialog()         dlgSettings.Document = MyDoc         Dim Result As DialogResult         Result = dlgSettings.ShowDialog()         If Result = DialogResult.OK Then MyDoc.Print()     End Sub     Private Sub MyDoc_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs) Handles MyDoc.PrintPage         Dim MyFont As New Font("Arial", 10)         Dim LineHeight As Single = MyFont.GetHeight(e.Graphics)         Dim x As Single = e.MarginBounds.Left         Dim y As Single = e.MarginBounds.Top         PageNumber += 1         lblStatus.Text &= vbNewLine & "Sending Page " & PageNumber & " ..."         Do             e.Graphics.DrawString(PrintData(Offset), MyFont, Brushes.Black, x, y)             Offset += 1             y += LineHeight         Loop Until (y + LineHeight) > e.MarginBounds.Bottom Or Offset > PrintData.GetUpperBound(0)         If Offset < PrintData.GetUpperBound(0) Then             e.HasMorePages = True         Else             Offset = 0             lblStatus.Text &= vbNewLine & "Print or Preview Completed"         End If     End Sub     Private Sub cmdPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPreview.Click         lblStatus.Text = ""         Dim dlgPreview As New PrintPreviewDialog()         dlgPreview.Document = MyDoc         dlgPreview.Show()     End Sub     Private Sub cmdPreviewInForm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPreviewInForm.Click         lblStatus.Text = ""         Preview.Zoom = 0.2         Preview.Columns = 2         Preview.Rows = 3         Preview.Document = MyDoc         Preview.InvalidatePreview()     End Sub     Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged, RadioButton4.Click, RadioButton3.Click, RadioButton2.Click, RadioButton1.Click, RadioButton5.CheckedChanged         Dim ctrl As Control = CType(sender, Control)         Preview.Zoom = Val(ctrl.Text) / 100     End Sub End Class