整理思路,从新出发。

加载模版

 public void loadtemplate(Label lable)
{
string p_tempateFile = @"fomate.xml";
OnePrintPoint opp = new OnePrintPoint();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(p_tempateFile);
XmlElement xmlNodePoints = xmlDoc["Lable"];
XmlNodeList nodelist = xmlNodePoints.ChildNodes; foreach (XmlElement el in nodelist)//读元素值
{
try
{
string keystr = el.Attributes["Key"].InnerText;
if (keystr == lable.Name)
{
lable.Location = new Point(Convert.ToInt32(el.Attributes["X"].InnerText), Convert.ToInt32(el.Attributes["Y"].InnerText));
lable.Font = new Font(el.Attributes["FontName"].InnerText, float.Parse(el.Attributes["FontSize"].InnerText));
}
}
catch
{
MessageBox.Show("xml文件读取错误,请和管理员联系", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}

加载模版

在搞定鼠标对控件的控制后,下面接着就是读取数据,将数据和相应的控件对应起来。

 /// <summary>
/// 设置打印值的属性
/// </summary>
/// <param name="key">xml文件中key的值</param>
/// <param name="value">表格中取到的值</param>
/// <returns></returns>
public OnePrintPoint SetValue(string key, string value)
{
// string p_tempateFile = @"..\..\bin\fomate.xml";
string p_tempateFile = @"fomate.xml";
OnePrintPoint opp = new OnePrintPoint();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(p_tempateFile);
XmlElement xmlNodePoints = xmlDoc["Lable"];
XmlNodeList nodelist = xmlNodePoints.ChildNodes; foreach (XmlElement el in nodelist)//读元素值
{
string keystr = el.Attributes["Key"].InnerText;
if (keystr == key)
{
//op.Key = el.Attributes["Key"].InnerText;
//设置打印值的属性
opp.FontName = el.Attributes["FontName"].InnerText;
opp.FontSize = float.Parse(el.Attributes["FontSize"].InnerText);
opp.X = float.Parse(el.Attributes["X"].InnerText);
opp.Y = float.Parse(el.Attributes["Y"].InnerText);
opp.Value = value;
break;
}
else
{ }
}
return opp;
}

赋值

到此为止,关于打印的基本功能就这样实现了,如果有什么问题,欢迎大家和我交流,欢迎转载!

                                                博客园bindot

C# 毕业证书打印《六》的更多相关文章

  1. C# 毕业证书打印《一》

    最近一直在做证书打印的项目,好久都没写日志了.今天将代码整理了一下,希望将自己做证书打印的一些心得写出来,也希望能和大家一起交流. 首先,证书打印必须实现打印的功能.了解打印功能是怎么实现的,打印关键 ...

  2. C# 毕业证书打印《三》

    打印很关键的方法,打印方法DataPrint(),将你要打印的数据信息发送到打印机就可以了,打印机将自动处理. public void DataPrint() { try { PrintDocumen ...

  3. C# 毕业证书打印《二》

    当证书的打印功能得以实现,最关键的功能便是数据. 通过对打印的了解,打印中最关键的功能便是打印事件中的方法. private void pd_PrintPage(object sender, Prin ...

  4. C# 毕业证书打印《五》

    对鼠标操作Label的方法 #region //定义一个枚举类型,描述光标状态 private enum EnumMousePointPosition { #region MouseSizeNone ...

  5. C# 毕业证书打印《四》

    数据存储,读取控件在Panel中的位置,将控件的位置保存到xml文件中. /// <summary> /// 将当前格式写入xml /// </summary> /// < ...

  6. 【爆料】-《布莱顿大学毕业证书》Brighton一模一样原件

    布莱顿大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&am ...

  7. 毕业样本=[威尔士大学毕业证书]UWIC原件一模一样证书

    威尔士大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&am ...

  8. 毕业样本=[华威大学毕业证书]Warwick原件一模一样证书

    华威大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...

  9. 毕业原版=[约克大学毕业证书]York原件一模一样证书

    约克大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...

随机推荐

  1. C# 获取进程或线程的相关信息

    信息来自: http://blog.163.com/kunkun0921@126/blog/static/169204332201293023432113/ using System; using S ...

  2. GoLang之协程

    GoLang之协程 目前,WebServer几种主流的并发模型: 多线程,每个线程一次处理一个请求,在当前请求处理完成之前不会接收其它请求:但在高并发环境下,多线程的开销比较大: 基于回调的异步IO, ...

  3. MVC中 _ViewStart _Layout Index三个页面中的加载顺序

    MVC学习中忽然想到一个问题.. 在访问一个Index.cshtml页面时, MVC的加载顺序是怎么样的呢? 首先说下我的结论 . _ViewStart.cshtml . Index.cshtml . ...

  4. java正则表达式 --简单认识

    学习目标 正则表达式的作用正则表达式的模式匹配Pattern类和Matcher类的使用掌握String对正则的支持具体内容一.认识正则(为什么要有正则) 方便的对数据进行匹配 执行复杂的字符串验证.拆 ...

  5. Yii2-Redis使用小记 - Cache(转)

    前些天简单学习了下 Redis,现在准备在项目上使用它了.我们目前用的是 Yii2 框架,在官网搜索了下 Redis,就发现了yii2-redis这扩展. 安装后使用超简单,打开 common/con ...

  6. a标签的target指向iframe

    <html> <head> <meta charset="utf-8" /> </head> <body> <ta ...

  7. CSS鼠标响应事件经过、移动、点击示例介绍

    本文为大家介绍下CSS 鼠标响应事件:鼠标经过CSS.鼠标移动CSS.鼠标点击CSS以及示例,喜欢的朋友可以参考下   几种鼠标触发CSS事件. 说明: onMouseDown 按下鼠标时触发 onM ...

  8. Android 开发

    1.Activity 子类会重载一个 protected void onCreate(Bundle savedInstanceState) { ... } 方法,其中 savedInstanceSta ...

  9. 清北国庆day1 (脑)残

    (留坑) /* 不知道为什要找的循环节TM这么长 */ #include<cstdio> #include<cstdlib> #include<cstring> u ...

  10. Ubuntu 14 添加Windows风格的底部任务栏

    习惯了Windows风格的底部任务栏,而Ubuntu 14是没有的,还好有人做好了一个任务栏插件,可以在线安装: 1.打开终端(Ctrl+Alt+T),然后输入下面的命令 sudo apt-get i ...