整理思路,从新出发。

加载模版

 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. Yii2 打印sql语句和批量插入数据

    打印sql语句: $model->find()->createCommand()->getRawSql(); 批量插入 Yii::$app->db->createComm ...

  2. fedora配置网络

    网络配置包括3个部分: ipadd的配置 gateway profile dns profile 格式区别: 1和2的格式都是: CONFIG_ITEM = value; 3的格式是: nameser ...

  3. acpi和btrfs-安装opensuse时的选项

    g-------------------- 关于GPL和LGPL和QPL等 读书笔记:采用LGPL的代码,一般情况下它本身就是一个第三方库(别忘了LGPL最早的名字就是Library GPL),这时候 ...

  4. Linux启动管理:grub

    1.grub中分区表示 Linux 中 /dev/sda1   在grub中为   hd0,0    代表第一个硬盘的第一个分区 Linux中 /dev/sdb3是扩展分区     在grub中为   ...

  5. google-breakpad

    BUG收集系统: 国内可以使用友盟,国外可以使用Crashlytics SDK,或者自己实现使用 google-breakpad,参见下列文章: Crashlytics SDK 部分: http:// ...

  6. [译]A Beginner’s Guide to npm — the Node Package Manager

    原文: http://www.sitepoint.com/beginners-guide-node-package-manager/ Installing Node.js 验证你的安装是否成功. $ ...

  7. 打开Excel的报错,提示:不能使用对象链接和嵌入

    计算机这几天在打开Excel文档的时候,提示:不能使用对象链接和嵌入, 而且出现如下的提示:Microsoft Office Excel进程已停止工作, 每次打开Excel的时候都是同样的问题,害我跟 ...

  8. CentOS 6.5 zabbix 3.0.4 监控MySQL性能

    安装mysql [root@test3 /]# yum -y install mysql mysql-server 初始化数据库 [root@test3 /]# /etc/init.d/mysqld ...

  9. Linux 动态监听进程shell

    背景 前几天在研究线程的时候,看到一句话说java里的线程Thread.run都会在Linux中fork一个的轻量级进程,于是就想验证一下(笔者的机器是Linux的).当时用top命令的时候,进程总是 ...

  10. android Activity基类通用方法

    public class BaseActivity extends Activity { Resources res; // 通用资源缩写 @Override protected void onCre ...