资源简介
一、应用场景与出发点
同一个系统中,为了解决不同的客户可能需要设计不同的单据打印模板,实现此方法可能是:
1、设计不同的自带RDLC报表文件,根据当前客户加载不同的报表并打印
2、GDI+绘图 和 打印组件 ,不同的客户创建不同的绘图XML格式的模板内容
3、其他第三方组件
主要对比一下前两种方法,第一种方法不好之处在于,不灵活,开发者必须地每个客户制订一个报表,不推荐采用。第二种方法,修改对应的模板内容就可以了, 模板内容可以是Xml文件,也可以是存放在数据库中的Xml格式字符串。推荐采用这种方法。然后这种方法的也有一个棘手问题 :如何让用户快速、方便地设计打印模板,本示例就是为了解决这个问题。
二、实现思路与原理
功能概要:设计一个界面,支持用户自由添加 要打印的项,文本,直线,图片 等,并且可以方便改变打印项的 字体、颜色、粗细、位置,设计时支持效果预览。
技术要点:GDI+绘图、拖动控件、XML解析、自定义控件
三、相关类介绍
绘图工具类:DrawHelper 实现 xml格式模板 与 打印项 之间进行互相转换,在目标画板中绘制
拖动工具类:WinHelper 实现控件的鼠标拖动,键盘移动
自定义控件:用于显示文字的文本框 TextBoxExt、用于显示直线的标签 LabelExt
主窗体代码:用于用户操作,添加,删除,编辑,打印项
详细介绍请参照我的博文:http://de.cel.blog.163.com/blog/static/51451236201472215450939/
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace test0820
{
public partial class CodeView : Form
{
public string Code { get; set; }
public CodeView(string code)
{
InitializeComponent();
this.txtCode.Text = code;
}
private void btnOK_Click(object sender EventArgs e)
{
Code = txtCode.Text;
this.DialogResult = DialogResult.OK;
}
private void btnCancel_Click(object sender EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 36352 2014-08-21 17:17 test0820\test0820\bin\Debug\test0820.exe
文件 97792 2014-08-21 17:17 test0820\test0820\bin\Debug\test0820.pdb
文件 14328 2014-08-21 17:16 test0820\test0820\bin\Debug\test0820.vshost.exe
文件 6823 2014-08-21 17:16 test0820\test0820\bin\Debug\tpl.xm
文件 774 2014-08-21 14:01 test0820\test0820\CodeView.cs
文件 3813 2014-08-21 14:01 test0820\test0820\CodeView.Designer.cs
文件 5814 2014-08-21 14:01 test0820\test0820\CodeView.resx
文件 4916 2014-08-21 14:50 test0820\test0820\Controls\LabelExt.cs
文件 1117 2014-08-21 11:31 test0820\test0820\Controls\LabelExt.Designer.cs
文件 5066 2014-08-21 14:50 test0820\test0820\Controls\TextBoxExt.cs
文件 1119 2014-08-21 10:14 test0820\test0820\Controls\TextBoxExt.Designer.cs
文件 12542 2014-08-21 17:10 test0820\test0820\Form1.cs
文件 11151 2014-08-21 16:33 test0820\test0820\Form1.Designer.cs
文件 6020 2014-08-21 16:33 test0820\test0820\Form1.resx
文件 16810 2014-08-21 17:11 test0820\test0820\Helpers\DrawHelper.cs
文件 3757 2014-08-21 17:11 test0820\test0820\Helpers\WinHelper.cs
文件 8661 2014-08-21 17:13 test0820\test0820\Helpers\xm
文件 144381 2014-08-21 15:53 test0820\test0820\obj\Debug\ResolveAssemblyReference.cache
文件 180 2014-08-21 17:17 test0820\test0820\obj\Debug\test0820.CodeView.resources
文件 2663 2014-08-21 17:16 test0820\test0820\obj\Debug\test0820.csproj.FileListAbsolute.txt
文件 908 2014-08-21 16:34 test0820\test0820\obj\Debug\test0820.csproj.GenerateResource.Cache
文件 36352 2014-08-21 17:17 test0820\test0820\obj\Debug\test0820.exe
文件 180 2014-08-21 17:17 test0820\test0820\obj\Debug\test0820.Form1.resources
文件 97792 2014-08-21 17:17 test0820\test0820\obj\Debug\test0820.pdb
文件 180 2014-08-21 17:17 test0820\test0820\obj\Debug\test0820.Properties.Resources.resources
文件 489 2014-08-20 17:14 test0820\test0820\Program.cs
文件 1348 2014-08-20 17:14 test0820\test0820\Properties\AssemblyInfo.cs
文件 2866 2014-08-20 17:14 test0820\test0820\Properties\Resources.Designer.cs
文件 5612 2014-08-20 17:14 test0820\test0820\Properties\Resources.resx
文件 1093 2014-08-20 17:14 test0820\test0820\Properties\Settings.Designer.cs
............此处省略18个文件信息
相关资源
- 020ASP.NET车辆综合管理系统.zip
- 数据库备份还原工具1.0 C# 源码
- DirectX.Capturec# winform 操作摄像头录像附
- c# 高校档案信息管理系统
- 北大青鸟ACCP8.0S1使用C#开发数据库应用
- asp.net中c#做的躲避小游戏,希望大家
- ASP.NET C# 工资管理系统
- 一款漂亮的灯光闪烁的圣诞树(C# V
- C#笔试题大全C#面试集合包括了,.ne
- ASP.NET客户管理系统(毕业设计 C#
- 在线求职系统(C#ASP.NET源码)
- .NET C# Custom Form Designer (附源碼)
- C#冒泡排序动态演示程序(看了就会)
- 酒店管理系统(c#.net源码)
- C#(Winfrom)窗体传值问题(子窗体回
- 海益ERP数据管理系统2.0源码
- AssetStudio V0.16.0 源代码 使用VS2019
- 最新C#9.0官方中文教程(共1866页)
- c#与西门子s7-200 smart 通讯 S7TCPDLL.dll
- 串口调试助手代码(XCOM V2.0)
- asp.net 在线考试系统及论文
- winform实时获取网卡网速全部源码,获
- ASP.Net文件上传管理源码
- winform实现饼状图、柱状图、折线图(
- 纬朗VLLC514光源控制器控制程序(VLL
- ArcGIS Runtime SDK for .NET
- C# .NET5.0(net core)基于WPF(XAML)开发
- Quartz.NET定时任务框架
- .net core 动态生成 Word文档(word Expor
- Unity摄像机分辨率自适应设计尺寸脚本
评论
共有 条评论