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

打印编程

开发平台:

Others

  1. using System;
  2. using System.Drawing;
  3. using System.Drawing.Printing;
  4. using System.Collections;
  5. using System.ComponentModel;
  6. using System.Windows.Forms;
  7. using System.Data;
  8. using GoldPrinter;
  9. namespace MisGoldPrinterTest
  10. {
  11. /// <summary>
  12. /// 打印示例--简单快捷、易用实用
  13. /// </summary>
  14. public class frmEasyPrint : System.Windows.Forms.Form
  15. {
  16. //*****第一步*****:申明并实例化,可用带参构造函数指明默认横向显示/打印。
  17. //如果你不写完整的名字空间,请使用using GoldPrinter;
  18. private GoldPrinter.MisGoldPrinter misGoldPrinter = new GoldPrinter.MisGoldPrinter(true);
  19. //简单打印示例
  20. private void Print(bool p_PrintOrPreview)
  21. {
  22. //*****第二步*****:直接赋值给打印对象(可选)
  23. //更精彩应用,请单击菜单 “更多激动人心示例对象定制变换无穷”
  24. misGoldPrinter.Title = "金质打印通 通打天下报表nWWW.WebMIS.COM.CN"; //主标题(C#用n表示换行)
  25. misGoldPrinter.Caption = "  ——GoldPrinter,欢迎下载"; //副标题
  26. misGoldPrinter.Top = "作者:周方勇|2004-08-19|版本:V2.5"; //抬头,一行三列的文字说明,用|分隔
  27. misGoldPrinter.Bottom = "打印程序开源版||打印日期:" + System.DateTime.Now.ToLongDateString(); //结尾,说明同抬头
  28. //*****第三步*****:打印重点,设置数据源
  29. //可以是一维数组、二维数组、DataGrid、DataTable、ListView、MshFlexGrid、HtmlTable...,
  30. //总之,不支持的你自己写一个函数转换成二维数组赋给DataSource一切搞定
  31. misGoldPrinter.DataSource = this.dataGrid1; //DataGrid作为数据源
  32. //打印的核心是Body,可以对它设置字体、列宽等等
  33. ((GoldPrinter.Body)(misGoldPrinter.Body)).IsAverageColsWidth = true;//指明平均列宽
  34. //*****第四步*****:打印或预览
  35. if (p_PrintOrPreview)
  36. {
  37. misGoldPrinter.Print(); //打印
  38. }
  39. else
  40. {
  41. misGoldPrinter.Preview(); //预览
  42. }
  43. }
  44. private void frmPrint_Closed(object sender, System.EventArgs e)
  45. {
  46. //*****第五步*****:用完释放
  47. misGoldPrinter.Dispose();
  48. misGoldPrinter = null;
  49. }
  50. //打印或预览 菜单:页面设置、打印机设置、打印预览
  51. private void menuFilePageSetup_Click(object sender, System.EventArgs e)
  52. {
  53. misGoldPrinter.PageSetup();
  54. }
  55. private void menuFilePrintPreview_Click(object sender, System.EventArgs e)
  56. {
  57. Print(false);
  58. }
  59. private void menuFilePrint_Click(object sender, System.EventArgs e)
  60. {
  61. Print(true);
  62. }
  63. private void menuFileExit_Click(object sender, System.EventArgs e)
  64. {
  65. Application.Exit();
  66. }
  67. //加载打印示例数据
  68. private void frmPrint_Load(object sender, System.EventArgs e)
  69. {
  70. this.dataGrid1.DataSource = PrintDataSource.GetDataSource(500);
  71. }
  72. private void menuHelpAbout_Click(object sender, System.EventArgs e)
  73. {
  74. frmAbout frmInstance = new frmAbout();
  75. frmInstance.ShowDialog();
  76. frmInstance.Dispose();
  77. }
  78. private void menuEgCompletePrint_Click(object sender, System.EventArgs e)
  79. {
  80. frmCompletePrint frmInstance = new frmCompletePrint();
  81. frmInstance.ShowDialog();
  82. frmInstance.Dispose();
  83. }
  84. private void menuEgExcel_Click(object sender, System.EventArgs e)
  85. {
  86. frmExcelPrint frmInstance = new frmExcelPrint();
  87. frmInstance.ShowDialog();
  88. frmInstance.Dispose();
  89. }
  90. private void menuEgCasePrint_Click(object sender, System.EventArgs e)
  91. {
  92. frmInvoice frmInstance = new frmInvoice();
  93. frmInstance.ShowDialog();
  94. frmInstance.Dispose();
  95. }
  96. #region Windows 窗体设计器生成的代码
  97. private System.Windows.Forms.MainMenu mainMenu1;
  98. private System.Windows.Forms.MenuItem menuFile;
  99. private System.Windows.Forms.MenuItem menuFilePageSetup;
  100. private System.Windows.Forms.MenuItem menuFilePrintPreview;
  101. private System.Windows.Forms.MenuItem menuFilePrint;
  102. private System.Windows.Forms.DataGrid dataGrid1;
  103. private System.Windows.Forms.MenuItem menuFileExit;
  104. private System.Windows.Forms.MenuItem menuHelp;
  105. private System.Windows.Forms.MenuItem menuHelpAbout;
  106. private System.Windows.Forms.MenuItem menuOtherExamples;
  107. private System.Windows.Forms.MenuItem menuEgExcel;
  108. private System.Windows.Forms.MenuItem menuEgCompletePrint;
  109. private System.Windows.Forms.MenuItem menuItem1;
  110. private System.Windows.Forms.MenuItem menuEgCasePrint;
  111. private System.Windows.Forms.MenuItem menuVs2005DataGridViewPt;
  112. /// <summary>
  113. /// 必需的设计器变量。
  114. /// </summary>
  115. private System.ComponentModel.Container components = null;
  116. public frmEasyPrint()
  117. {
  118. //
  119. // Windows 窗体设计器支持所必需的
  120. //
  121. InitializeComponent();
  122. //
  123. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  124. //
  125. }
  126. /// <summary>
  127. /// 清理所有正在使用的资源。
  128. /// </summary>
  129. protected override void Dispose( bool disposing )
  130. {
  131. if( disposing )
  132. {
  133. if (components != null) 
  134. {
  135. components.Dispose();
  136. }
  137. }
  138. base.Dispose( disposing );
  139. }
  140. #region Windows 窗体设计器生成的代码
  141. /// <summary>
  142. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  143. /// 此方法的内容。
  144. /// </summary>
  145. private void InitializeComponent()
  146. {
  147. this.mainMenu1 = new System.Windows.Forms.MainMenu();
  148. this.menuFile = new System.Windows.Forms.MenuItem();
  149. this.menuFilePageSetup = new System.Windows.Forms.MenuItem();
  150. this.menuFilePrintPreview = new System.Windows.Forms.MenuItem();
  151. this.menuFilePrint = new System.Windows.Forms.MenuItem();
  152. this.menuFileExit = new System.Windows.Forms.MenuItem();
  153. this.menuOtherExamples = new System.Windows.Forms.MenuItem();
  154. this.menuEgCompletePrint = new System.Windows.Forms.MenuItem();
  155. this.menuEgExcel = new System.Windows.Forms.MenuItem();
  156. this.menuItem1 = new System.Windows.Forms.MenuItem();
  157. this.menuEgCasePrint = new System.Windows.Forms.MenuItem();
  158. this.menuVs2005DataGridViewPt = new System.Windows.Forms.MenuItem();
  159. this.menuHelp = new System.Windows.Forms.MenuItem();
  160. this.menuHelpAbout = new System.Windows.Forms.MenuItem();
  161. this.dataGrid1 = new System.Windows.Forms.DataGrid();
  162. ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
  163. this.SuspendLayout();
  164. // 
  165. // mainMenu1
  166. // 
  167. this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  168.   this.menuFile,
  169.   this.menuOtherExamples,
  170.   this.menuVs2005DataGridViewPt,
  171.   this.menuHelp});
  172. // 
  173. // menuFile
  174. // 
  175. this.menuFile.Index = 0;
  176. this.menuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  177.  this.menuFilePageSetup,
  178.  this.menuFilePrintPreview,
  179.  this.menuFilePrint,
  180.  this.menuFileExit});
  181. this.menuFile.Text = "文件(&F)";
  182. // 
  183. // menuFilePageSetup
  184. // 
  185. this.menuFilePageSetup.Index = 0;
  186. this.menuFilePageSetup.Text = "页面设置(&U)...";
  187. this.menuFilePageSetup.Click += new System.EventHandler(this.menuFilePageSetup_Click);
  188. // 
  189. // menuFilePrintPreview
  190. // 
  191. this.menuFilePrintPreview.Index = 1;
  192. this.menuFilePrintPreview.Text = "打印预览(&V)";
  193. this.menuFilePrintPreview.Click += new System.EventHandler(this.menuFilePrintPreview_Click);
  194. // 
  195. // menuFilePrint
  196. // 
  197. this.menuFilePrint.Index = 2;
  198. this.menuFilePrint.Text = "打印(&P)...";
  199. this.menuFilePrint.Click += new System.EventHandler(this.menuFilePrint_Click);
  200. // 
  201. // menuFileExit
  202. // 
  203. this.menuFileExit.Index = 3;
  204. this.menuFileExit.Text = "退出(&X)";
  205. this.menuFileExit.Click += new System.EventHandler(this.menuFileExit_Click);
  206. // 
  207. // menuOtherExamples
  208. // 
  209. this.menuOtherExamples.Index = 1;
  210. this.menuOtherExamples.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  211.   this.menuEgCompletePrint,
  212.   this.menuEgExcel,
  213.   this.menuItem1,
  214.   this.menuEgCasePrint});
  215. this.menuOtherExamples.Text = "更多激动人心示例(完全示例、Excel、套打)(&E)";
  216. // 
  217. // menuEgCompletePrint
  218. // 
  219. this.menuEgCompletePrint.Index = 0;
  220. this.menuEgCompletePrint.Text = "对象定制变换无穷";
  221. this.menuEgCompletePrint.Click += new System.EventHandler(this.menuEgCompletePrint_Click);
  222. // 
  223. // menuEgExcel
  224. // 
  225. this.menuEgExcel.Index = 1;
  226. this.menuEgExcel.Text = "Excel通打天下报表";
  227. this.menuEgExcel.Click += new System.EventHandler(this.menuEgExcel_Click);
  228. // 
  229. // menuItem1
  230. // 
  231. this.menuItem1.Index = 2;
  232. this.menuItem1.Text = "-";
  233. // 
  234. // menuEgCasePrint
  235. // 
  236. this.menuEgCasePrint.Index = 3;
  237. this.menuEgCasePrint.Text = "套打经典,国税发票";
  238. this.menuEgCasePrint.Click += new System.EventHandler(this.menuEgCasePrint_Click);
  239. // 
  240. // menuVs2005DataGridViewPt
  241. // 
  242. this.menuVs2005DataGridViewPt.Index = 2;
  243. this.menuVs2005DataGridViewPt.Text = "Vs2005DataGridView、ListView打印";
  244. this.menuVs2005DataGridViewPt.Click += new System.EventHandler(this.menuVs2005DataGridViewPt_Click);
  245. // 
  246. // menuHelp
  247. // 
  248. this.menuHelp.Index = 3;
  249. this.menuHelp.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  250.  this.menuHelpAbout});
  251. this.menuHelp.Text = "帮助(&H)";
  252. // 
  253. // menuHelpAbout
  254. // 
  255. this.menuHelpAbout.Index = 0;
  256. this.menuHelpAbout.Text = "关于 MIS金质打印通(&A)...";
  257. this.menuHelpAbout.Click += new System.EventHandler(this.menuHelpAbout_Click);
  258. // 
  259. // dataGrid1
  260. // 
  261. this.dataGrid1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
  262. | System.Windows.Forms.AnchorStyles.Left) 
  263. | System.Windows.Forms.AnchorStyles.Right)));
  264. this.dataGrid1.ColumnHeadersVisible = false;
  265. this.dataGrid1.DataMember = "";
  266. this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
  267. this.dataGrid1.Location = new System.Drawing.Point(0, 0);
  268. this.dataGrid1.Name = "dataGrid1";
  269. this.dataGrid1.Size = new System.Drawing.Size(720, 400);
  270. this.dataGrid1.TabIndex = 0;
  271. // 
  272. // frmEasyPrint
  273. // 
  274. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  275. this.BackColor = System.Drawing.SystemColors.Control;
  276. this.ClientSize = new System.Drawing.Size(720, 401);
  277. this.Controls.Add(this.dataGrid1);
  278. this.Menu = this.mainMenu1;
  279. this.Name = "frmEasyPrint";
  280. this.Text = "简单快捷、易用实用 -- MIS金质打印通 打印示例";
  281. this.Load += new System.EventHandler(this.frmPrint_Load);
  282. this.Closed += new System.EventHandler(this.frmPrint_Closed);
  283. ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
  284. this.ResumeLayout(false);
  285. }
  286. #endregion
  287. /// <summary>
  288. /// 应用程序的主入口点。
  289. /// </summary>
  290. [STAThread]
  291. static void Main() 
  292. {
  293. Application.Run(new frmEasyPrint());
  294. }
  295. #endregion
  296. private void menuVs2005DataGridViewPt_Click(object sender, System.EventArgs e)
  297. {
  298. string strMsg = @"请见金质打印通工程 GoldPrintDataGridViewListViewHelper.cs说明。" + "n另参见 VS.NET打印思想与2003/5DataGrid、DataGridView及二维数据如ListView等终极打印实现。";
  299. MessageBox.Show(strMsg,"金质打印通 www.webmis.com.cn免费源码!");
  300. }
  301. }//End Class
  302. }//End Namespace