C# 毕业证书打印《四》
数据存储,读取控件在Panel中的位置,将控件的位置保存到xml文件中。
/// <summary>
/// 将当前格式写入xml
/// </summary>
/// <param name="font"></param>
private void xmlWrite(Font font)
{
try
{
//H:\Users\bindot\Documents\Visual Studio 2010\Projects\Print\Print\Resources
string path = Application.StartupPath + @"fomate.xml";
XmlDocument doc = new XmlDocument(); // 创建dom对象
XmlElement root = doc.CreateElement("Lable");// 创建根节点Page
doc.AppendChild(root); // 加入到xml document
foreach (Control c in panel1.Controls)
{
XmlElement rfont = doc.CreateElement("font");
rfont.SetAttribute("Key", c.Name.ToString());
rfont.SetAttribute("X", c.Location.X.ToString());
rfont.SetAttribute("Y", c.Location.Y.ToString());
rfont.SetAttribute("FontSize", font.Size.ToString());
rfont.SetAttribute("FontName", font.Name);
root.AppendChild(rfont);
}
doc.Save(AppDomain.CurrentDomain.BaseDirectory + @"fomate.xml");
MessageBox.Show("默认格式保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
写入到xml
这个地方貌似还不是很严谨,对于文件不存在的情况没有进行判断,您可参考以下代码
FileInfo newFile = new FileInfo(filename);
if (newFile.Exists)
{
newFile.Delete();
newFile = new FileInfo(filename);
}
判断文件是否存在
调整某个控件的大小与位置
private void ChangeOne(FontDialog f, string lblname)
{
try
{
//H:\Users\bindot\Documents\Visual Studio 2010\Projects\Print\Print\Resources
string path = Application.StartupPath + @"/fomate.xml";
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(path);
XmlNodeList topM = xmldoc.DocumentElement.ChildNodes;
foreach (XmlElement el in topM)
{
if (el.Name.ToLower() == "font" && el.Attributes["Key"].Value == lblname)
{
el.Attributes["FontName"].Value = f.Font.FontFamily.Name.ToString();
el.Attributes["FontSize"].Value = f.Font.Size.ToString();
xmldoc.Save(AppDomain.CurrentDomain.BaseDirectory + @"fomate.xml");
MessageBox.Show("默认格式保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
initFomate();
}
} }
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
ChangeOne
C# 毕业证书打印《四》的更多相关文章
- C# 毕业证书打印《一》
最近一直在做证书打印的项目,好久都没写日志了.今天将代码整理了一下,希望将自己做证书打印的一些心得写出来,也希望能和大家一起交流. 首先,证书打印必须实现打印的功能.了解打印功能是怎么实现的,打印关键 ...
- C# 毕业证书打印《六》
整理思路,从新出发. 加载模版 public void loadtemplate(Label lable) { string p_tempateFile = @"fomate.xml&quo ...
- C# 毕业证书打印《三》
打印很关键的方法,打印方法DataPrint(),将你要打印的数据信息发送到打印机就可以了,打印机将自动处理. public void DataPrint() { try { PrintDocumen ...
- C# 毕业证书打印《二》
当证书的打印功能得以实现,最关键的功能便是数据. 通过对打印的了解,打印中最关键的功能便是打印事件中的方法. private void pd_PrintPage(object sender, Prin ...
- C# 毕业证书打印《五》
对鼠标操作Label的方法 #region //定义一个枚举类型,描述光标状态 private enum EnumMousePointPosition { #region MouseSizeNone ...
- 【爆料】-《布莱顿大学毕业证书》Brighton一模一样原件
布莱顿大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&am ...
- 毕业样本=[威尔士大学毕业证书]UWIC原件一模一样证书
威尔士大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&am ...
- 毕业样本=[华威大学毕业证书]Warwick原件一模一样证书
华威大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...
- 毕业原版=[约克大学毕业证书]York原件一模一样证书
约克大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...
随机推荐
- The length of the string value exceeds the length configured in the mapping/parameter.
在NHibernate 3.3 中存储的字符串太长,会抛异常:The length of the string value exceeds the length configured in the m ...
- VC亲自教你写BP
2015年5月24日下午,腾讯开放平台“创业ABC”沙龙在腾讯众创空间(上海)举行.活动以“创业融资实战——从计划书到如何估值到如何花钱”为主题,险峰华兴投资负责人徐建海先生现场分享<如何写BP ...
- Ajax– 刷新页面 【转】
jquery刷新页面(局部及全页面刷新) 2009-12-31 11:39:32| 分类: javascript|举报|字号 订阅 局部刷新: 这个方法就多了去了,常见的有以下几种: $.get方法 ...
- 软删除脏数据job笔记
某次处理一个case,发现线上库里有很多数据有问题.于是决定写一个job来将有问题的数据软删除掉.涉及到的两条SQL语句如下: <select id="loadTSKTVBillDai ...
- MQ介绍
MQ MQ传递主干, 在世界屡获殊荣. 它帮您搭建企业服务总线(ESB)的基础传输层.IBM WebSphere MQ为SOA提供可靠的消息传递.它为经过验证的消息传递主干, 全方位. 多用途的 ...
- Junit初级编码(二)探索JUnit核心
序,Junit测试是单元测试的一个框架,提供了很多方法,供我们快速开展单元测试.现在就让我们慢慢学习Junit单元测试框架 一.Junit的三个核心概念测试类.测试集.测试运行器 1 测试类 公共的, ...
- ThinkPHP 修改,删除数据,全部显示
1,修改数据 //数据修改 function Update() { $model = D("info"); /* //1,数组方式 $attr = array( "Cod ...
- VC++ 6.0使用定时器SetTimer;
背景: windows中使用VC++6.0制作了个交互界面向下位机定时发送数据及显示下位机上传的数据.定时发送则需要使用定时器. 本文只做记录如何调用,原理以后再深究. 正文: 首先,我生成的窗体类名 ...
- 【PHP面向对象(OOP)编程入门教程】5.如何实例化对象?
我们上面说过面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类会声明了,下一步就是实例化对象了. 当定义好类后,我们使用new关键字来生成一个对象. $对象名称 = new 类名称 ...
- 关于网页控件设置成disabled以后,提交不到后台的问题
在开发的时候经常遇到这样的问题,就是需要设置某个控件不可编辑,这个控件可能是一个input文本框,可能是一个select下拉列表 遇到这样的问题,一般有两种处理方法 第一种是将input 控件添加 d ...