frmEasyPrint.vb
上传用户:jx_fiona
上传日期:2014-03-08
资源大小:1387k
文件大小:11k
源码类别:

打印编程

开发平台:

Others

  1. '打印示例--简单快捷、易用实用
  2. Public Class frmEasyPrint
  3.     Inherits System.Windows.Forms.Form
  4. #Region " Windows 窗体设计器生成的代码 "
  5.     Public Sub New()
  6.         MyBase.New()
  7.         '该调用是 Windows 窗体设计器所必需的。
  8.         InitializeComponent()
  9.         '在 InitializeComponent() 调用之后添加任何初始化
  10.     End Sub
  11.     '窗体重写 dispose 以清理组件列表。
  12.     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  13.         If disposing Then
  14.             If Not (components Is Nothing) Then
  15.                 components.Dispose()
  16.             End If
  17.         End If
  18.         MyBase.Dispose(disposing)
  19.     End Sub
  20.     'Windows 窗体设计器所必需的
  21.     Private components As System.ComponentModel.IContainer
  22.     '注意: 以下过程是 Windows 窗体设计器所必需的
  23.     '可以使用 Windows 窗体设计器修改此过程。
  24.     '不要使用代码编辑器修改它。
  25.     Friend WithEvents mainMenu1 As System.Windows.Forms.MainMenu
  26.     Friend WithEvents menuFile As System.Windows.Forms.MenuItem
  27.     Friend WithEvents menuFilePageSetup As System.Windows.Forms.MenuItem
  28.     Friend WithEvents menuFilePrintPreview As System.Windows.Forms.MenuItem
  29.     Friend WithEvents menuFilePrint As System.Windows.Forms.MenuItem
  30.     Friend WithEvents menuFileExit As System.Windows.Forms.MenuItem
  31.     Friend WithEvents menuOtherExamples As System.Windows.Forms.MenuItem
  32.     Friend WithEvents menuEgCompletePrint As System.Windows.Forms.MenuItem
  33.     Friend WithEvents menuEgExcel As System.Windows.Forms.MenuItem
  34.     Friend WithEvents menuHelp As System.Windows.Forms.MenuItem
  35.     Friend WithEvents menuHelpAbout As System.Windows.Forms.MenuItem
  36.     Friend WithEvents dataGrid1 As System.Windows.Forms.DataGrid
  37.     Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
  38.     Friend WithEvents menuEgCasePrint As System.Windows.Forms.MenuItem
  39.     Friend WithEvents menuVs2005DataGridViewPt As System.Windows.Forms.MenuItem
  40.     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  41.         Me.mainMenu1 = New System.Windows.Forms.MainMenu
  42.         Me.menuFile = New System.Windows.Forms.MenuItem
  43.         Me.menuFilePageSetup = New System.Windows.Forms.MenuItem
  44.         Me.menuFilePrintPreview = New System.Windows.Forms.MenuItem
  45.         Me.menuFilePrint = New System.Windows.Forms.MenuItem
  46.         Me.menuFileExit = New System.Windows.Forms.MenuItem
  47.         Me.menuOtherExamples = New System.Windows.Forms.MenuItem
  48.         Me.menuEgCompletePrint = New System.Windows.Forms.MenuItem
  49.         Me.menuEgExcel = New System.Windows.Forms.MenuItem
  50.         Me.MenuItem1 = New System.Windows.Forms.MenuItem
  51.         Me.menuEgCasePrint = New System.Windows.Forms.MenuItem
  52.         Me.menuHelp = New System.Windows.Forms.MenuItem
  53.         Me.menuHelpAbout = New System.Windows.Forms.MenuItem
  54.         Me.dataGrid1 = New System.Windows.Forms.DataGrid
  55.         Me.menuVs2005DataGridViewPt = New System.Windows.Forms.MenuItem
  56.         CType(Me.dataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()
  57.         Me.SuspendLayout()
  58.         '
  59.         'mainMenu1
  60.         '
  61.         Me.mainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.menuFile, Me.menuOtherExamples, Me.menuVs2005DataGridViewPt, Me.menuHelp})
  62.         '
  63.         'menuFile
  64.         '
  65.         Me.menuFile.Index = 0
  66.         Me.menuFile.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.menuFilePageSetup, Me.menuFilePrintPreview, Me.menuFilePrint, Me.menuFileExit})
  67.         Me.menuFile.Text = "文件(&F)"
  68.         '
  69.         'menuFilePageSetup
  70.         '
  71.         Me.menuFilePageSetup.Index = 0
  72.         Me.menuFilePageSetup.Text = "页面设置(&U)..."
  73.         '
  74.         'menuFilePrintPreview
  75.         '
  76.         Me.menuFilePrintPreview.Index = 1
  77.         Me.menuFilePrintPreview.Text = "打印预览(&V)"
  78.         '
  79.         'menuFilePrint
  80.         '
  81.         Me.menuFilePrint.Index = 2
  82.         Me.menuFilePrint.Text = "打印(&P)..."
  83.         '
  84.         'menuFileExit
  85.         '
  86.         Me.menuFileExit.Index = 3
  87.         Me.menuFileExit.Text = "退出(&X)"
  88.         '
  89.         'menuOtherExamples
  90.         '
  91.         Me.menuOtherExamples.Index = 1
  92.         Me.menuOtherExamples.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.menuEgCompletePrint, Me.menuEgExcel, Me.MenuItem1, Me.menuEgCasePrint})
  93.         Me.menuOtherExamples.Text = "更多激动人心示例(完全示例、Excel、套打)(&E)"
  94.         '
  95.         'menuEgCompletePrint
  96.         '
  97.         Me.menuEgCompletePrint.Index = 0
  98.         Me.menuEgCompletePrint.Text = "对象定制变换无穷"
  99.         '
  100.         'menuEgExcel
  101.         '
  102.         Me.menuEgExcel.Index = 1
  103.         Me.menuEgExcel.Text = "Excel通打天下报表"
  104.         '
  105.         'MenuItem1
  106.         '
  107.         Me.MenuItem1.Index = 2
  108.         Me.MenuItem1.Text = "-"
  109.         '
  110.         'menuEgCasePrint
  111.         '
  112.         Me.menuEgCasePrint.Index = 3
  113.         Me.menuEgCasePrint.Text = "套打经典,国税发票"
  114.         '
  115.         'menuHelp
  116.         '
  117.         Me.menuHelp.Index = 3
  118.         Me.menuHelp.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.menuHelpAbout})
  119.         Me.menuHelp.Text = "帮助(&H)"
  120.         '
  121.         'menuHelpAbout
  122.         '
  123.         Me.menuHelpAbout.Index = 0
  124.         Me.menuHelpAbout.Text = "关于 MIS金质打印通(&A)..."
  125.         '
  126.         'dataGrid1
  127.         '
  128.         Me.dataGrid1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
  129.                     Or System.Windows.Forms.AnchorStyles.Left) _
  130.                     Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
  131.         Me.dataGrid1.ColumnHeadersVisible = False
  132.         Me.dataGrid1.DataMember = ""
  133.         Me.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
  134.         Me.dataGrid1.Location = New System.Drawing.Point(0, 0)
  135.         Me.dataGrid1.Name = "dataGrid1"
  136.         Me.dataGrid1.Size = New System.Drawing.Size(648, 373)
  137.         Me.dataGrid1.TabIndex = 1
  138.         '
  139.         'menuVs2005DataGridViewPt
  140.         '
  141.         Me.menuVs2005DataGridViewPt.Index = 2
  142.         Me.menuVs2005DataGridViewPt.Text = "Vs2005DataGridView、ListView打印"
  143.         '
  144.         'frmEasyPrint
  145.         '
  146.         Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
  147.         Me.ClientSize = New System.Drawing.Size(648, 374)
  148.         Me.Controls.Add(Me.dataGrid1)
  149.         Me.Menu = Me.mainMenu1
  150.         Me.Name = "frmEasyPrint"
  151.         Me.Text = "简单快捷、易用实用 -- MIS金质打印通 打印示例(VB版)"
  152.         CType(Me.dataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
  153.         Me.ResumeLayout(False)
  154.     End Sub
  155. #End Region
  156.     '*****第一步*****:申明并实例化,可用带参构造函数指明默认横向显示/打印。
  157.     '如果你不写完整的名字空间,请使用import GoldPrinter;
  158.     Private misGoldPrinter As New GoldPrinter.MisGoldPrinter(True)
  159.     '简单打印示例
  160.     Private Sub Print(ByVal p_PrintOrPreview As Boolean)
  161.         '*****第二步*****:直接赋值给打印对象(可选)
  162.         '           更精彩应用,请单击菜单 “更多激动人心示例对象定制变换无穷”
  163.         misGoldPrinter.Title = "金质打印通 通打天下报表" + vbCrLf + "WWW.WebMIS.COM.CN"                 '主标题(vbCrLf表示换行)
  164.         misGoldPrinter.Caption = "    ——GoldPrinter,欢迎下载"                                    '副标题
  165.         misGoldPrinter.Top = "作者:周方勇|2004-08-19|版本:V2.5"                                       '抬头,一行三列的文字说明,用|分隔
  166.         misGoldPrinter.Bottom = "打印程序开源版||打印日期:" + System.DateTime.Now.ToLongDateString()   '结尾,说明同抬头
  167.         '*****第三步*****:打印重点,设置数据源
  168.         '可以是一维数组、二维数组、DataGrid、DataTable、ListView、MshFlexGrid、HtmlTable...,
  169.         '总之,不支持的你自己写一个函数转换成二维数组赋给DataSource一切搞定
  170.         misGoldPrinter.DataSource = Me.dataGrid1                'DataGrid作为数据源
  171.         '打印的核心是Body,可以对它设置字体、列宽等等
  172.         CType(misGoldPrinter.Body, GoldPrinter.Body).IsAverageColsWidth = True      '指明平均列宽
  173.         '*****第四步*****:打印或预览
  174.         If (p_PrintOrPreview) Then
  175.             misGoldPrinter.Print()                              '打印
  176.         Else
  177.             misGoldPrinter.Preview()                            '预览
  178.         End If
  179.     End Sub
  180.     Private Sub frmEasyPrint_Closed(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Closed
  181.         '*****第五步*****:用完释放
  182.         misGoldPrinter.Dispose()
  183.         misGoldPrinter = Nothing
  184.     End Sub
  185.     '打印或预览 菜单:页面设置、打印机设置、打印预览
  186.     Private Sub menuFilePageSetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuFilePageSetup.Click
  187.         misGoldPrinter.PageSetup()
  188.     End Sub
  189.     Private Sub menuFilePrintPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuFilePrintPreview.Click
  190.         Print(False)
  191.     End Sub
  192.     Private Sub menuFilePrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuFilePrint.Click
  193.         Print(True)
  194.     End Sub
  195.     Private Sub menuFileExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuFileExit.Click
  196.         Application.Exit()
  197.     End Sub
  198.     '加载打印示例数据
  199.     Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  200.         Me.dataGrid1.DataSource = PrintDataSource.GetDataSource(500)
  201.     End Sub
  202.     Private Sub menuHelpAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuHelpAbout.Click
  203.         Dim frmInstance As New frmAbout
  204.         frmInstance.ShowDialog()
  205.         frmInstance.Dispose()
  206.     End Sub
  207.     Private Sub menuEgCompletePrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuEgCompletePrint.Click
  208.         Dim frmInstance As New frmCompletePrint
  209.         frmInstance.ShowDialog()
  210.         frmInstance.Dispose()
  211.     End Sub
  212.     Private Sub menuEgExcel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuEgExcel.Click
  213.         Dim frmInstance As New frmExcelPrint
  214.         frmInstance.ShowDialog()
  215.         frmInstance.Dispose()
  216.     End Sub
  217.     Private Sub menuEgCasePrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuEgCasePrint.Click
  218.         Dim frmInstance As New frmInvoice
  219.         frmInstance.ShowDialog()
  220.         frmInstance.Dispose()
  221.     End Sub
  222.     Private Sub menuVs2005DataGridViewPt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuVs2005DataGridViewPt.Click
  223.         Dim strMsg As String
  224.         strMsg = "请见金质打印通工程 GoldPrintDataGridViewListViewHelper.cs说明。" + vbCrLf + "另参见 VS.NET打印思想与2003/5DataGrid、DataGridView及二维数据如ListView等终极打印实现。"
  225.         MessageBox.Show(strMsg, "金质打印通 www.webmis.com.cn免费源码!")
  226.     End Sub
  227. End Class