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[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...
随机推荐
- css中的px、em、rem 详解
概念介绍: 1.px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Per Inch,每英寸像素数),在扫描打印时 ...
- struts2 拦截器和actioninvocation、PreResultListener
Interceptor说明 Interceptor的接口定义没有什么特别的地方,除了init和destory方法以外,intercept方法是实现整个拦截器机制的核心方法.而它所依赖的参数Act ...
- TCSQL实时列表缓存数据库帮助文档
[文章作者:张宴 本文版本:v1.1 最后修改:2010.09.03 转载请注明原文链接:http://blog.zyan.cc/tcsql/] 曾经有人提出,一般数据库缓存分为四种.第一种:单个对象 ...
- 开源面向对象数据库 db4o 之旅,第 1 部分: 初识 db4o
前言 业界对持久存储领域的追求从未停止过,为了更方便.更容易地用对象表达我们的思维,开源领域和商业领域都涌现了许多新技术, ORM 的出现恰恰说明了这点.最近一年,业界也在反思,到底 ORM 给我们带 ...
- 跳出iframe
摘要 有时候需要用到iframe,但里面的单击里面的链接的时候,总是在该iframe中打开. 解决办法 其实解决起来也很简单. 在iframe中的head标签中添加下面的标签即可. <base ...
- System.exit(0)和System.exit(1)区别
System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() .无论如何,内存都释放了!也就是说连JV ...
- 深入分析,理解jQuery.Deferred源码
前言: 如果你对jQuery.Callback回调对象不了解,或者只掌握其方法,但是没有通过阅读源码理解,可以先阅读 前一章jQuery.Callbacks源码解读二,因为只有完全理解jQuery.C ...
- 图解JavaScript 继承
JavaScript作为一个面向对象语言,可以实现继承是必不可少的,但是由于本身并没有类的概念(不知道这样说是否严谨,但在js中一切都类皆是对象模拟)所以在JavaScript中的继承也区别于其他的面 ...
- Sql导出数据报错-->SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服 ...
- js操作json与字符串相互转换
字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSON.pars ...