/// <summary>
 /// 保存模板中的全局节点
 /// </summary>
 /// <param name="document">XmlDocument</param>
 /// <param name="root">根节点</param>
 private void SaveGlobalXmlNode(XmlDocument document, XmlElement root)
 {
     //模板代码
     EditTemplateMethod.AppendChildElement(document, root, "CODE", EditTemplateInfo.GetEditXmlDocument((EditName.Substring(0, EditName.IndexOf(".")) + ".xml")).DocumentElement.ChildNodes[0].InnerText);
     //模板底图
     EditTemplateMethod.AppendChildElement(document, root, "BACK_IMG", EditTemplateInfo.GetEditXmlDocument((EditName.Substring(0, EditName.IndexOf(".")) + ".xml")).DocumentElement.ChildNodes[1].InnerText);
     //模板中文名称
     EditTemplateMethod.AppendChildElement(document, root, "CNAME", EditTemplateInfo.GetEditXmlDocument((EditName.Substring(0, EditName.IndexOf(".")) + ".xml")).DocumentElement.ChildNodes[2].InnerText);
     //模板英文名称
     EditTemplateMethod.AppendChildElement(document, root, "ENAME", EditTemplateInfo.GetEditXmlDocument((EditName.Substring(0, EditName.IndexOf(".")) + ".xml")).DocumentElement.ChildNodes[3].InnerText);
 }
 /// <summary>
 /// 保存模板中的项节点
 /// </summary>
 /// <param name="document">XmlDocument</param>
 /// <param name="root">根节点</param>
 private void SaveItemXmlNode(XmlDocument document, XmlElement root)
 {
     try
     {
         XmlElement items = EditTemplateMethod.AppendChildElement(document, root, "ITEMS", null);
         foreach (DataGridViewRow row in DGV_CustomControlList.Rows)
         {
             XmlElement item = EditTemplateMethod.AppendChildElement(document, items, "ITEM", null);
             //TAB索引,如果索引在转换成数值时没有错误说明是正确的|否则错误
             Convert.ToInt32(row.Cells["tbindex"].Value.ToString());
             EditTemplateMethod.AppendChildElement(document, item, "TAB_INDEX", row.Cells["tbindex"].Value.ToString());
             //节点中文名称
             EditTemplateMethod.AppendChildElement(document, item, "ITEM_CNAME", row.Cells["cname"].Value.ToString());
             //节点英文名称
             EditTemplateMethod.AppendChildElement(document, item, "ITEM_ENAME", row.Cells["ename"].Value.ToString());
             //控件的宽度
             Convert.ToInt32(row.Cells["width"].Value.ToString());
             EditTemplateMethod.AppendChildElement(document, item, "ITEM_WIDTH", row.Cells["width"].Value.ToString());
             //控件的高度
             Convert.ToInt32(row.Cells["height"].Value.ToString());
             EditTemplateMethod.AppendChildElement(document, item, "ITEM_HEIGHT", row.Cells["height"].Value.ToString());
             //X坐标
             Convert.ToInt32(row.Cells["pointx"].Value.ToString());
             EditTemplateMethod.AppendChildElement(document, item, "POS_X", row.Cells["pointx"].Value.ToString());
             //Y坐标
             Convert.ToInt32(row.Cells["pointy"].Value.ToString());
             EditTemplateMethod.AppendChildElement(document, item, "POS_Y", row.Cells["pointy"].Value.ToString());
             //是否多行文本
             int muiline = row.Cells["ismuiline"].Value.ToString() == "是" ? 1 : 0;
             EditTemplateMethod.AppendChildElement(document, item, "MULTILINE", muiline.ToString());
             //是否换行
             int warp = row.Cells["iswarp"].Value.ToString() == "是" ? 1 : 0;
             EditTemplateMethod.AppendChildElement(document, item, "WORD_WRAP", warp.ToString());
             //控件类型
             EditTemplateMethod.AppendChildElement(document, item, "ITEM_TYPE", row.Cells["controltype"].Value.ToString());
         }
     }
     catch { MessageBox.Show("属性列表中有错误的数值", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); }
 }