📄 frmdialogs.vb
字号:
Imports System.IO
Imports System.Drawing.Printing
Public Class frmDialogs
Inherits System.Windows.Forms.Form
Private strFileName As String = " C:\Temp\Text Document.Text"
Private objStreamToPrint As StreamReader
Private objPrintFont As Font
#Region " Windows 窗体设计器生成的代码 "
Public Sub New()
MyBase.New()
'该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
'在 InitializeComponent() 调用之后添加任何初始化
End Sub
'窗体重写 dispose 以清理组件列表。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
'注意: 以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器修改此过程。
'不要使用代码编辑器修改它。
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
<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), System.Windows.Forms.AnchorStyles)
Me.txtFile.Location = New System.Drawing.Point(4, 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
Me.txtFile.Text = ""
'
'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.TabIndex = 1
Me.btnOpen.Text = "Open"
'
'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.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.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.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.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.TabIndex = 6
Me.btnBrowse.Text = "Browse"
'
'frmDialogs
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(448, 270)
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 = "frmDialogs"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Dialogs"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub txtFile_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFile.TextChanged
End Sub
Private Sub btnOpen_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnOpen.Click
With OpenFileDialog1
.Filter = "Text files (*.text)|*.txt|All files (*.*)|*.*"
.FilterIndex = 1
.InitialDirectory = "C:\Temp\"
.Title = "Demo Open File Dialog"
End With
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
strFileName = OpenFileDialog1.FileName
Dim objReader As StreamReader = New StreamReader(strFileName)
txtFile.Text = objReader.ReadToEnd()
objReader.Close()
objReader = Nothing
End If
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
With SaveFileDialog1
.DefaultExt = "txt"
.DefaultExt = strFileName
.Filter = "Text files (*.text)|*.txt|All files (*.*)|*.*"
.FilterIndex = 1
.InitialDirectory = "C:\Temp\"
.Title = "Demo Save File Dialog"
End With
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
strFileName = SaveFileDialog1.FileName
Dim objWriter As StreamWriter = New StreamWriter(strFileName, False)
objWriter.Write(txtFile.Text)
objWriter.Close()
objWriter = Nothing
End If
End Sub
Private Sub btnFont_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFont.Click
FontDialog1.ShowColor = True
If FontDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
txtFile.Font = FontDialog1.Font
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
If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.BackColor = ColorDialog1.Color
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 btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
Dim objPrintDocument As PrintDocument = New PrintDocument
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 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
txtFile.Text = FolderBrowserDialog1.SelectedPath
End If
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -