PrintDialog.AllowPrintToFile
Imports System Imports System.Collections Imports System.ComponentModel Imports System.Windows.Forms Imports System.Data Imports System.Configuration Imports System.Resources Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.IO Imports System.Drawing.Printing Public Class MainClass Shared Sub Main() Dim myform As Form = New Dialogs() Application.Run(myform) End Sub End Class Public Class Dialogs 'Declare variable Private strFileName As String Private objStreamToPrint As StreamReader Private objPrintFont As Font Private Sub btnOpen_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles btnOpen.Click 'Set the Open dialog properties With OpenFileDialog1 .Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*" .FilterIndex = 1 .Title = "Demo Open File Dialog" End With 'Show the Open dialog and if the user clicks the Open button, 'load the file If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then Dim allText As String Try 'Save the file name strFileName = OpenFileDialog1.FileName 'Read the contents of the file allText = My.Computer.FileSystem.ReadAllText(strFileName) 'Display the file contents in the TextBox txtFile.Text = allText Catch fileException As Exception Throw fileException End Try End If End Sub Private Sub btnSave_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnSave.Click 'Set the Save dialog properties With SaveFileDialog1 .DefaultExt = "txt" .FileName = strFileName .Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*" .FilterIndex = 1 .OverwritePrompt = True .Title = "Demo Save File Dialog" End With 'Show the Save dialog and if the user clicks the Save button, 'save the file If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then Try 'Save the file name strFileName = SaveFileDialog1.FileName Dim filePath As String 'Open or Create the file filePath = System.IO.Path.Combine( _ My.Computer.FileSystem.SpecialDirectories.MyDocuments, _ strFileName) 'Replace the contents of the file My.Computer.FileSystem.WriteAllText(filePath, txtFile.Text, False) Catch fileException As Exception Throw fileException End Try End If End Sub Private Sub btnFont_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnFont.Click 'Set the FontDialog control properties FontDialog1.ShowColor = True 'Show the Font dialog If FontDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then 'If the OK button was clicked set the font 'in the text box on the form txtFile.Font = FontDialog1.Font 'Set the color of the font in the text box on the form txtFile.ForeColor = FontDialog1.Color End If End Sub Private Sub btnColor_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnColor.Click 'Show the Color dialog If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then 'Set the BackColor property of the form Me.BackColor = ColorDialog1.Color End If End Sub Private Sub btnPrint_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnPrint.Click 'Declare an object for the PrintDocument class Dim objPrintDocument As PrintDocument = New PrintDocument() 'Set the DocumentName property objPrintDocument.DocumentName = "Text File Print Demo" PrintDialog1.AllowPrintToFile = False PrintDialog1.AllowSelection = False PrintDialog1.AllowSomePages = False PrintDialog1.Document = objPrintDocument If PrintDialog1.ShowDialog() = DialogResult.OK Then objStreamToPrint = New StreamReader(strFileName) objPrintFont = New Font("Arial", 10) AddHandler objPrintDocument.PrintPage, _ AddressOf objPrintDocument_PrintPage objPrintDocument.PrinterSettings = PrintDialog1.PrinterSettings objPrintDocument.Print() objStreamToPrint.Close() objStreamToPrint = Nothing End If End Sub Private Sub objPrintDocument_PrintPage(ByVal sender As Object, _ ByVal e As System.Drawing.Printing.PrintPageEventArgs) Dim sngLinesPerpage As Single = 0 Dim sngVerticalPosition As Single = 0 Dim intLineCount As Integer = 0 Dim sngLeftMargin As Single = e.MarginBounds.Left Dim sngTopMargin As Single = e.MarginBounds.Top Dim strLine As String sngLinesPerpage = _ e.MarginBounds.Height / objPrintFont.GetHeight(e.Graphics) strLine = objStreamToPrint.ReadLine() While (intLineCount < sngLinesPerpage And Not (strLine Is Nothing)) sngVerticalPosition = sngTopMargin + _ (intLineCount * objPrintFont.GetHeight(e.Graphics)) e.Graphics.DrawString(strLine, objPrintFont, Brushes.Black, _ sngLeftMargin, sngVerticalPosition, New StringFormat()) intLineCount = intLineCount + 1 If (intLineCount < sngLinesPerpage) Then strLine = objStreamToPrint.ReadLine() End If End While If (strLine <> Nothing) Then e.HasMorePages = True Else e.HasMorePages = False End If End Sub Private Sub btnBrowse_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnBrowse.Click FolderBrowserDialog1.Description = "Select a folder for your backups:" FolderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyComputer FolderBrowserDialog1.ShowNewFolderButton = False If FolderBrowserDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then 'Display the selected folder txtFile.Text = FolderBrowserDialog1.SelectedPath End If End Sub End Class <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Public Class Dialogs 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.ComponentModel.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.txtFile = New System.Windows.Forms.TextBox Me.btnOpen = New System.Windows.Forms.Button Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog Me.btnSave = New System.Windows.Forms.Button Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog Me.btnFont = New System.Windows.Forms.Button Me.FontDialog1 = New System.Windows.Forms.FontDialog Me.btnColor = New System.Windows.Forms.Button Me.ColorDialog1 = New System.Windows.Forms.ColorDialog Me.btnPrint = New System.Windows.Forms.Button Me.PrintDialog1 = New System.Windows.Forms.PrintDialog Me.btnBrowse = New System.Windows.Forms.Button Me.FolderBrowserDialog1 = New System.Windows.Forms.FolderBrowserDialog Me.SuspendLayout() ' 'txtFile ' Me.txtFile.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.txtFile.Location = New System.Drawing.Point(8, 8) Me.txtFile.Multiline = True Me.txtFile.Name = "txtFile" Me.txtFile.ScrollBars = System.Windows.Forms.ScrollBars.Vertical Me.txtFile.Size = New System.Drawing.Size(352, 264) Me.txtFile.TabIndex = 0 ' 'btnOpen ' Me.btnOpen.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnOpen.Location = New System.Drawing.Point(367, 8) Me.btnOpen.Name = "btnOpen" Me.btnOpen.Size = New System.Drawing.Size(75, 23) Me.btnOpen.TabIndex = 1 Me.btnOpen.Text = "Open" ' 'OpenFileDialog1 ' Me.OpenFileDialog1.FileName = "OpenFileDialog1" ' 'btnSave ' Me.btnSave.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnSave.Location = New System.Drawing.Point(367, 38) Me.btnSave.Name = "btnSave" Me.btnSave.Size = New System.Drawing.Size(75, 23) Me.btnSave.TabIndex = 2 Me.btnSave.Text = "Save" ' 'btnFont ' Me.btnFont.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnFont.Location = New System.Drawing.Point(367, 68) Me.btnFont.Name = "btnFont" Me.btnFont.Size = New System.Drawing.Size(75, 23) Me.btnFont.TabIndex = 3 Me.btnFont.Text = "Font" ' 'btnColor ' Me.btnColor.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnColor.Location = New System.Drawing.Point(367, 98) Me.btnColor.Name = "btnColor" Me.btnColor.Size = New System.Drawing.Size(75, 23) Me.btnColor.TabIndex = 4 Me.btnColor.Text = "Color" ' 'btnPrint ' Me.btnPrint.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnPrint.Location = New System.Drawing.Point(367, 128) Me.btnPrint.Name = "btnPrint" Me.btnPrint.Size = New System.Drawing.Size(75, 23) Me.btnPrint.TabIndex = 5 Me.btnPrint.Text = "Print" ' 'btnBrowse ' Me.btnBrowse.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnBrowse.Location = New System.Drawing.Point(367, 158) Me.btnBrowse.Name = "btnBrowse" Me.btnBrowse.Size = New System.Drawing.Size(75, 23) Me.btnBrowse.TabIndex = 6 Me.btnBrowse.Text = "Browse" ' 'FolderBrowserDialog1 ' Me.FolderBrowserDialog1.SelectedPath = "FolderBrowserDialog1" ' 'Dialogs ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(448, 277) Me.Controls.Add(Me.btnBrowse) Me.Controls.Add(Me.btnPrint) Me.Controls.Add(Me.btnColor) Me.Controls.Add(Me.btnFont) Me.Controls.Add(Me.btnSave) Me.Controls.Add(Me.btnOpen) Me.Controls.Add(Me.txtFile) Me.Name = "Dialogs" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "Dialogs" Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents txtFile As System.Windows.Forms.TextBox Friend WithEvents btnOpen As System.Windows.Forms.Button Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog Friend WithEvents btnSave As System.Windows.Forms.Button Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog Friend WithEvents btnFont As System.Windows.Forms.Button Friend WithEvents FontDialog1 As System.Windows.Forms.FontDialog Friend WithEvents btnColor As System.Windows.Forms.Button Friend WithEvents ColorDialog1 As System.Windows.Forms.ColorDialog Friend WithEvents btnPrint As System.Windows.Forms.Button Friend WithEvents PrintDialog1 As System.Windows.Forms.PrintDialog Friend WithEvents btnBrowse As System.Windows.Forms.Button Friend WithEvents FolderBrowserDialog1 As System.Windows.Forms.FolderBrowserDialog End Class
1. | PrintDialog.AllowSelection | ||
2. | PrintDialog.AllowSomePages | ||
3. | PrintDialog.Document | ||
4. | PrintDialog.PrinterSettings.Copies | ||
5. | PrintDialog.PrinterSettings.FromPage | ||
6. | PrintDialog.PrinterSettings.ToPage |