⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 日志.txt

📁 用C#编写的一个新的打印程序
💻 TXT
字号:
姓 名:	周方勇
Email:	flygoldfish@sina.com.cn

2004年7月
	  完成了整体的框架、涉及打印的几个对话框、核心打印程序及几个基本打印对象并由BillPrinter类将其组织起来,程序基本定型。
	  本程序为通用打印程序,单据、会计凭证、发票清单、报表、任意复杂表格、合并表格如工矿企业合同都可以由系统提供的几个默
	  认打印对象组合打印。
	  DataGrid、DataTable、MSHFlexGrid等二维形式全部可以打印。
	  部分对象如PrinterMargins、Sewing、GridLineFlag、GridMergeFlag等提供图例,以促进理解。
	  后期版本将提供XML描述、SQL数据源的打印,并用管理器管理任意多个网格、文本对象、图象等,用户可以随意定义。

2004年8月初
	为一些类或程序写上注释,如下:		
	/// 程序提供:周方勇;Email:flygoldfish@sina.com。
	/// 请 关 注:WebMIS.Net快速开发工具,不写一行程序开发B/S架构下MIS、OA、CRM、人事管理、档案管理等数据库网页系统。简单、实用、稳定、可靠。
	/// 下    载:
	///			 上海奥联:WWW.AlinkSoft.COM
	///			 用友华表:WWW.CellSoft.CC
	///★★★★★您可以免费使用此程序,但是请您保留此说明,以维护知识产权★★★★★
		

2004年08月07日
	1、将框架作了部分调整,并且将打印基本对象的基类Printer作了调整。
		由于打印对象的定位及打印区域受PrintDocument、Sewing影响,为了方便Printer的子类不必在每次实例化后设置这
		两个对象,故将PrintDocument、Sewing放在一个类中作为全局静态变量,现删除这两个全局静态变量, 改在Printer
		的构造函数中,为每个子类提供一个默认的PrintDocument、Sewing实例对象。
	
	2、为GridBase扩充了几个属性与方法,由于字段太多,每次增加或修改字段后要去构造函数中去修改他们的初始化,
		太麻烦了,所以将它们的初始化直接放在定义处,并把相应的属性及相关方法直接放在字段后,并用#region指令将
		它们折叠起来,便于维护。
		
	3、增加了ReDimArrString(string[,] arrStr,int rows,int cols),即重定义二维字符数组,因为网格的行列数可能要改
		变,但不能因为它们改变了而丢失原有的数据,因此写此程序保留新定义的行列,但保留和原有行列数相交的部分数据。
	
	4、应用设计模式原理重新组织IPrinterPageSetting、PrinterPageSetting、WinPrinterPageSetting、WebPrinterPageSetting。
		WebPrinterPageSetting待进一步完善。
	
2004年08月08日
	1、将以往程序优化
	
	2、将DrawGrid类中DrawGridLine(...)、DrawGridText(...)、DrawGridBorder(...)参数最全的核心函数改为protected,提供public的
		无参方法供实例化对象调用;
		由于在指定的区域内可能绘制不完网格,因此上面的几个函数可以会将返回类型void改为一个描述绘制结果的对象;
		SetText(int row,int col,string text)、SetText(int row,int col)将在后期版本中提供.Row[index].Text的属性;
		TransGrid()、ResetTransGrid()是在设计时为了能做任意的缩放的变换提供的,待进一步完善。
		
	3、对Printer类中的ReSetVariableVal()、GetPrinterMargins()进行修改,以适应对纸张进行调整特别是横向、竖向打印的支持。
	
2004年08月09日
	1、解决分页问题,主要是有些对象每页都重复打印,使得条件复杂。
	
2004年08月10日
	1、13:42将源程序传给资深程序员李峰;
	
	2、计划增加每页小计。
	
2004年08月11日
	1、为网格增加画对角线的功能,以满足中国人表格的特点;
	
	2、将Graphics、PrintDocument、Sewing、RectangleF、Height、Draw()重新组织在IDraw里,并在
	BillPrinter中增加private void OutObject(IDraw outer),使每个对象输出时调用此方法,提高代码重用率;
	
2004年08月14日
	1、忘了,反正又把程序看了看,修修补补做了些调整。

2004年08月15日
	1、将分页又重新简化了一下,主要是打印Body上用了数据行指针;

2004年08月16日
	1、发布V1.0源码版,程序名称为MIS金质打印王。
	2、在CSDN上发布贴子:
	.^^.开源:C#.NET开发的MIS打印程序,各种网格如DataGrid打印、DataTable、HtmlTable等二维形式全搞定,源码免费下载 
	http://community.csdn.net/Expert/topic/3278/3278050.xml?temp=.5012934
	
2004年08月17日
	1、在CSDN上发布文章:
	开源:.NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现
	http://blog.csdn.net/flygoldfish/archive/2004/08/17/77208.aspx
	2、应广大网友来信要求,计划将PrinterPageSetting目录开源到演示程序,以后逐一以文章的形式全部开放。
	
2004年08月18日
	1、将PrinterPageSetting目录即(页面设置、打印机设置、打印预览)源码加入演示程序。
	
	2、在MisPrinter中添加属性,DataSource,这样,仅需几句话就可以打印了,如:
		MisPrinter webmis = new MisPrinter();							//申明并实例化打印组件
		webmis.Title = "WebMIS.Net快速开发工具\nWWW.AlinkSoft.COM";		//网格标题
		webmis.DataSource = this.dataGrid1;								//DataGrid作为数据源
		webmis.Preview();												//打印预览
		
		注意:将将MisPrinter中的Draw(Graphics g)打印各个对象时加一下 printerobject != null的判断,如
		if (mCurrentPageIndex == 1 || _caption.IsDrawAllPage)...
		改为
		if (_caption != null && (mCurrentPageIndex == 1 || _caption.IsDrawAllPage))...
		否则可能会出错。

	3、将2的应用加到了frmPrint.cs	,做一个简单的打印。
	
2004年08月19日
	1、将PrinterPageSetting目录即(页面设置、打印机设置、打印预览)源码加入演示程序。
	
	2、发布V1.1源码版,程序名称为MIS金质打印王。
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -