| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014 | using OTSIncAReportApp.OTSSampleReportInfo;using OTSIncAReportApp.SysMgrTools;using OTSRptPeriodicTable;using System;using System.Collections.Generic;using System.Windows.Forms;namespace OTSIncAReportApp.OTSTemplateDesigner{    public partial class OTSReport_TemplateDesignerRM : Form    {        #region 全局变量        public OTSReport_Export m_OTSReport_Export;        System.Collections.Hashtable table;        #endregion        #region 构造函数及窗体加载                public OTSReport_TemplateDesignerRM(OTSReport_Export in_otsreport_export)        {            InitializeComponent();            m_OTSReport_Export = in_otsreport_export;            #region 国际化语言            Language lan = new Language(this);            table = lan.GetNameTable(this.Name);            #endregion        }        private void OTSReport_TemplateDesignerRM_Load(object sender, EventArgs e)        {            //绑定各下拉框的值            BindControl();            //读取默认值            LoadControls();        }        /// <summary>        /// 为各下拉控件绑定值        /// </summary>        private void BindControl()        {            //选择颗粒范围            cb_ParticleRange.Items.Add("全部颗粒");            cb_ParticleRange.Items.Add("选择颗粒");            #region 元素选择            string[] PeriodicTable = { "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hq", "TI", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Mc", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Unb" };            comboBox_PeriodicTable.Items.AddRange(PeriodicTable);            AutoCompleteStringCollection sc = new AutoCompleteStringCollection();            sc.AddRange(PeriodicTable);            this.comboBox_PeriodicTable.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;            this.comboBox_PeriodicTable.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;            this.comboBox_PeriodicTable.AutoCompleteCustomSource = sc;            #endregion            #region 颗粒尺寸分析结果            //计算方式            //BindComboBox(DisplayPicutureType.AnalyzeDataChart, cb_klcc_jsfs, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, (int)CALCULATE_CHART_TYPE.TRIO_CHART, OTS_RETORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);            BindComboBox(cb_klcc_jsfs, OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);            //粒级表            //BindComboBox(DisplayPicutureType.AnalyzeDataChart, cb_klcc_ljb, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, (int)CALCULATE_CHART_TYPE.TRIO_CHART, OTS_RETORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);            BindComboBox(cb_klcc_ljb, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);            //颗粒范围            //BindComboBox(DisplayPicutureType.AnalyzeDataTable, cb_klcc_klfw, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE, (int)CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO, OTS_RETORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE);            //BindComboBox(cb_klcc_klfw, OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE);            #endregion            #region 夹杂物分类图            //显示图形            //cb_jzwfl_xstx.Items.Add(table["report1"].ToString());            //cb_jzwfl_xstx.Items.Add(table["report2"].ToString());            //cb_jzwfl_xstx.Items.Add(table["report3"].ToString());            //cb_jzwfl_xstx.Items.Add(table["report4"].ToString());            //cb_jzwfl_xstx.Items.Add(table["report5"].ToString());            //cb_jzwfl_xstx.SelectedIndex = 0;            //计算方式            //BindComboBox(DisplayPicutureType.AnalyzeDataChart, cb_jzwfl_jsfs, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, (int)CALCULATE_CHART_TYPE.TRIO_CHART, OTS_RETORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);            //BindComboBox(cb_jzwfl_jsfs, OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);            //粒级表            //BindComboBox(DisplayPicutureType.AnalyzeDataChart, cb_jzwfl_ljb, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, (int)CALCULATE_CHART_TYPE.TRIO_CHART, OTS_RETORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);            //BindComboBox(cb_jzwfl_ljb, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);            //颗粒范围            //BindComboBox(DisplayPicutureType.AnalyzeDataTable, cb_jzwfl_klfw, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE, (int)CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO, OTS_RETORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE);            //BindComboBox(cb_jzwfl_klfw, OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE);            #endregion            #region 元素分析表            //计算方式            //BindComboBox(DisplayPicutureType.AnalyzeDataChart, cb_yxfx_jsfs, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, (int)CALCULATE_CHART_TYPE.TRIO_CHART, OTS_RETORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);            //BindComboBox(cb_yxfx_jsfs, OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);            //颗粒范围            //BindComboBox(DisplayPicutureType.AnalyzeDataTable, cb_ysfx_klfw, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE, (int)CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO, OTS_RETORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE);            //BindComboBox(cb_ysfx_klfw, OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE);            #endregion            #region 三元相图            //计算方式            //BindComboBox(DisplayPicutureType.AnalyzeDataChart, cb_syxt_jsfs, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, (int)CALCULATE_CHART_TYPE.TRIO_CHART, OTS_RETORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);            //BindComboBox(cb_syxt_jsfs, OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);            //颗粒范围            //BindComboBox(DisplayPicutureType.AnalyzeDataTable, cb_syxt_klfw, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, (int)CALCULATE_CHART_TYPE.TRIO_CHART, OTS_RETORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE);            //BindComboBox(cb_syxt_klfw, OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE);            //粒级表            //BindComboBox(DisplayPicutureType.AnalyzeDataChart, cb_syxt_ljb, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, (int)CALCULATE_CHART_TYPE.TRIO_CHART, OTS_RETORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);            BindComboBox(cb_syxt_ljb, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);            //每行显示数量            cb_syxt_mhxssl.Items.Add("2");            cb_syxt_mhxssl.Items.Add("3");            cb_syxt_mhxssl.SelectedIndex = 0;            //三元相图模板s            ComboBox lscb = new ComboBox();            //BindComboBox(DisplayPicutureType.AnalyzeDataChart, lscb, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, (int)CALCULATE_CHART_TYPE.TRIO_CHART, OTS_RETORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);            BindComboBox(lscb, OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);            for (int i = 0; i < lscb.Items.Count; i++)            {                lbv_syxt_mblb.Items.Add(lscb.Items[i].ToString());            }            #endregion            #region 颗粒列表            //排序方式                       BindComboBox(comboBox_p1, OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST);            BindComboBox(comboBox_p2, OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST);            BindComboBox(comboBox_p3, OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST);            BindComboBox(cb_FrameChart_p1, OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST);            BindComboBox(cb_FrameChart_p2, OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST);            //BindComboBox(cb_FrameChart_p3, OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST);            #endregion        }        /// <summary>        /// 验证各控件输入的值        /// </summary>        private bool VerifyControlValue()        {            int selectnumber = 0;            for (int i = 0; i < lbv_syxt_mblb.CheckedItems.Count; i++)            {                if (lbv_syxt_mblb.CheckedItems[i].Checked == true)                    selectnumber++;            }            //if (cb_syxt_mhxssl.Text == "2")            //{            //    if (selectnumber % 2 != 0)            //    {            //        //选择的不是2的整倍数,请重新选择            //        MessageBox.Show(table["report10"].ToString(), table["report12"].ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information);            //        return false;            //    }            //}            //if (cb_syxt_mhxssl.Text == "3")            //{            //    if (selectnumber % 3 != 0)            //    {            //        //选择的不是2的整倍数,请重新选择            //        MessageBox.Show(table["report11"].ToString(), table["report12"].ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information);            //        return false;            //    }            //}            return true;        }        #endregion        #region 按键事件        private void button2_Click(object sender, EventArgs e)        {            this.Close();        }        private void button1_Click(object sender, EventArgs e)        {           if ( SaveTemplateParametersToXml())            {                SaveTemplateParameters();            }        }        private void button4_Click(object sender, EventArgs e)        {            //元素分析表,显示元素            SetPeriodicTableControl(tb_ysfx_xsys, m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys);        }            #endregion        #region 另存到文件        private bool SaveTemplateParametersToXml()        {            string path = string.Empty;            SaveFileDialog save = new SaveFileDialog();            save.Filter = "XML File|*.xml";            save.InitialDirectory = @System.Windows.Forms.Application.StartupPath + "\\Config\\ProData";            if (save.ShowDialog() != DialogResult.OK)            {                return false;            }            path = save.FileName;//赋值目录            if (path != string.Empty)            {                m_OTSReport_Export.m_mbszclass.M_DZ.route = path;                OTSIncAReportApp.Controls.XmlConfigUtil xmlutil = new OTSIncAReportApp.Controls.XmlConfigUtil(path);                //首页                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_tb_ZBT.ToString(), "M_SY", "str_tb_ZBT");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_tb_FBT.ToString(), "M_SY", "str_tb_FBT");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_tb_YPBH.ToString(), "M_SY", "str_tb_YPBH");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_tb_CKBZ.ToString(), "M_SY", "str_tb_CKBZ");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.b_ck_ypsm.ToString(), "M_SY", "b_ck_ypsm");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.b_ck_jggk.ToString(), "M_SY", "b_ck_jggk");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_bz.ToString(), "M_SY", "str_bz");                //选择颗粒范围(全部颗粒,选择颗粒)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_xzkl.ToString(), "M_SY", "str_xzkl");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.int_xzkl.ToString(), "M_SY", "int_xzkl");                //页眉页脚                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_ymwb.ToString(), "M_YMYJ", "str_tb_ymwb");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_KHH.ToString(), "M_YMYJ", "str_tb_KHH");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.b_ck_ym.ToString(), "M_YMYJ", "b_ck_ym");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_yjwb.ToString(), "M_YMYJ", "str_tb_yjwb");                //颗粒分析结果                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_ck_klcc_xsmk.ToString(), "M_KLFXJG", "b_ck_klcc_xsmk");//是否显示模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_klcc_jsfs.ToString(), "M_KLFXJG", "index_cb_klcc_jsfs");//计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.str_cb_klcc_jsfs.ToString(), "M_KLFXJG", "str_cb_klcc_jsfs");//计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_klcc_ljb.ToString(), "M_KLFXJG", "index_cb_klcc_ljb");//粒级表                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_klcc_klfw.ToString(), "M_KLFXJG", "index_cb_klcc_klfw");//颗粒范围                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_cb_jzwfl_xsmk.ToString(), "M_KLFXJG", "b_cb_jzwfl_xsmk");//是否显示该模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_jzwfl_xstx.ToString(), "M_KLFXJG", "index_cb_jzwfl_xstx");//选择图像                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_jzwfl_jsfs.ToString(), "M_KLFXJG", "index_cb_jzwfl_jsfs");//计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_jzwfl_ljb.ToString(), "M_KLFXJG", "index_cb_jzwfl_ljb");//粒级表                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_jzwfl_klfw.ToString(), "M_KLFXJG", "index_cb_jzwfl_klfw");//颗粒范围                //元素分析结果                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.b_ck_ysfx_xsmk.ToString(), "M_YSFXJG", "b_ck_ysfx_xsmk");    //是否显示模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.index_cb_yxfx_jsfs.ToString(), "M_YSFXJG", "index_cb_yxfx_jsfs");    //计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.index_cb_ysfx_klfw.ToString(), "M_YSFXJG", "index_cb_ysfx_klfw");    //颗粒范围                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.str_tb_ysfx_xsys.ToString(), "M_YSFXJG", "str_tb_ysfx_xsys");        //显示元素                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Count; i++)                              //元素列表                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys[i].ToString(), "M_YSFXJG", "list_str_tb_ysfx_xsys", "YS" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                // RemoveMBSZClassNode("M_YSFXJG", "list_str_tb_ysfx_xsys", "YS", m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Count);                for (int i = m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_YSFXJG", "list_str_tb_ysfx_xsys", "YS" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_YSFXJG", "list_str_tb_ysfx_xsys", "YS" + strxh);                    }                    else                    {                        break;                    }                }                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.b_ck_yscf_xsmk.ToString(), "M_YSFXJG", "b_ck_yscf_xsmk");    //是否显示模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.index_cb_yscf_xstx.ToString(), "M_YSFXJG", "index_cb_yscf_xstx");    //显示图形                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.index_cb_yscf_jsfs.ToString(), "M_YSFXJG", "index_cb_yscf_jsfs");    //计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.index_cb_yscf_klfw.ToString(), "M_YSFXJG", "index_cb_yscf_klfw");    //颗粒范围                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.str_tb_yscf_ysxx.ToString(), "M_YSFXJG", "str_tb_yscf_ysxx");    //显示元素                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_yscf_ysxx.Count; i++)                              //元素列表                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_yscf_ysxx[i].ToString(), "M_YSFXJG", "list_str_tb_yscf_ysxx", "YS" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                // RemoveMBSZClassNode("M_YSFXJG", "list_str_tb_yscf_ysxx", "YS", m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_yscf_ysxx.Count);                for (int i = m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_yscf_ysxx.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_YSFXJG", "list_str_tb_yscf_ysxx", "YS" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_YSFXJG", "list_str_tb_yscf_ysxx", "YS" + strxh);                    }                    else                    {                        break;                    }                }                //三元相图                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.b_ck_syxt_xsmk.ToString(), "M_SYXT", "b_ck_syxt_xsmk");    //是否显示模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.index_cb_syxt_jsfs.ToString(), "M_SYXT", "index_cb_syxt_jsfs");    //计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.index_cb_syxt_klfw.ToString(), "M_SYXT", "index_cb_syxt_klfw");    //颗粒范围                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.str_cb_syxt_mhxssl.ToString(), "M_SYXT", "str_cb_syxt_mhxssl");    //每行显示数量                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb.Count; i++)                              //三元相图模板 list 文本                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb[i].ToString(), "M_SYXT", "list_lbv_syxt_mblb", "MB" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                //RemoveMBSZClassNode("M_SYXT", "list_lbv_syxt_mblb", "MB", m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb.Count);                for (int i = m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_SYXT", "list_lbv_syxt_mblb", "MB" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_SYXT", "list_lbv_syxt_mblb", "MB" + strxh);                    }                    else                    {                        break;                    }                }                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count; i++)                              //三元相图模板 list 索引                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index[i].ToString(), "M_SYXT", "list_lbv_syxt_mblb_index", "MBIndex" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                // RemoveMBSZClassNode("M_SYXT", "list_lbv_syxt_mblb_index", "MBIndex", m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count);                for (int i = m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_SYXT", "list_lbv_syxt_mblb", "MBIndex" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_SYXT", "list_lbv_syxt_mblb", "MBIndex" + strxh);                    }                    else                    {                        break;                    }                }                //颗粒列表信息                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_xsmk.ToString(), "M_KLLBXX", "b_ck_kllb_xsmk");    //是否显示模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_fjzt.ToString(), "M_KLLBXX", "b_ck_kllb_fjzt");//附加帧图                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_jsfs.ToString(), "M_KLLBXX", "index_cb_kllb_jsfs");    //计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_klfw.ToString(), "M_KLLBXX", "index_cb_kllb_klfw");    //颗粒范围                //xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.int_tb_kllb_ylsx.ToString(), "M_KLLBXX", "int_tb_kllb_ylsx");    //数量上限                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_tb_kllb_sxys.ToString(), "M_KLLBXX", "str_tb_kllb_sxys");    //显示元素                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_tb_lllb_sxys.Count; i++)                              //显示元素列表                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_tb_lllb_sxys[i].ToString(), "M_KLLBXX", "list_str_tb_lllb_sxys", "YS" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                //RemoveMBSZClassNode("M_KLLBXX", "list_str_tb_lllb_sxys", "YS", m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_tb_lllb_sxys.Count);                for (int i = m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_tb_lllb_sxys.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_KLLBXX", "list_str_tb_lllb_sxys", "YS" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_KLLBXX", "list_str_tb_lllb_sxys", "YS" + strxh);                    }                    else                    {                        break;                    }                }                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_ystx.ToString(), "M_KLLBXX", "b_ck_kllb_ystx");    //原始图像                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_fdtx.ToString(), "M_KLLBXX", "b_ck_kllb_fdtx");    //放大图像                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_npxx.ToString(), "M_KLLBXX", "b_ck_kllb_npxx");    //能谱图像                               xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1.ToString(), "M_KLLBXX", "str_cb_kllb_sort_p1");//颗粒排序表列第一个可选参数(string)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p1.ToString(), "M_KLLBXX", "index_cb_kllb_sort_p1");//颗粒排序表列第一个可选参数(index)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p2.ToString(), "M_KLLBXX", "str_cb_kllb_sort_p2");//颗粒排序表列第二个可选参数(string)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p2.ToString(), "M_KLLBXX", "index_cb_kllb_sort_p2");//颗粒排序表列第二个可选参数(index)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p3.ToString(), "M_KLLBXX", "str_cb_kllb_sort_p3");//颗粒排序表列第三个可选参数(string)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p3.ToString(), "M_KLLBXX", "index_cb_kllb_sort_p3");//颗粒排序表列第三个可选参数(index)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p1.ToString(), "M_KLLBXX", "str_cb_kllb_chartSort_p1");//帧图表列第一个可选参数(string)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p1.ToString(), "M_KLLBXX", "index_cb_kllb_chartSort_p1");//帧图表列第一个可选参数(index)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p2.ToString(), "M_KLLBXX", "str_cb_kllb_chartSort_p2");//帧图表列第二个可选参数(string)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p2.ToString(), "M_KLLBXX", "index_cb_kllb_chartSort_p2");//帧图表列第二个可选参数(index)            }            return true;        }        #endregion        #region 自定义方法        ///<summary>        ///保存到文件        /// </summary>        private void SaveFileToXml()        {            string path = m_OTSReport_Export.m_mbszclass.M_DZ.route;            if (path != string.Empty)            {                OTSIncAReportApp.Controls.XmlConfigUtil xmlutil = new OTSIncAReportApp.Controls.XmlConfigUtil(path);                //首页                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_tb_ZBT.ToString(), "M_SY", "str_tb_ZBT");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_tb_FBT.ToString(), "M_SY", "str_tb_FBT");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_tb_YPBH.ToString(), "M_SY", "str_tb_YPBH");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_tb_CKBZ.ToString(), "M_SY", "str_tb_CKBZ");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.b_ck_ypsm.ToString(), "M_SY", "b_ck_ypsm");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.b_ck_jggk.ToString(), "M_SY", "b_ck_jggk");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_bz.ToString(), "M_SY", "str_bz");                //选择颗粒范围(全部颗粒,选择颗粒)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.str_xzkl.ToString(), "M_SY", "str_xzkl");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SY.int_xzkl.ToString(), "M_SY", "int_xzkl");                //页眉页脚                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_ymwb.ToString(), "M_YMYJ", "str_tb_ymwb");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_KHH.ToString(), "M_YMYJ", "str_tb_KHH");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.b_ck_ym.ToString(), "M_YMYJ", "b_ck_ym");                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_yjwb.ToString(), "M_YMYJ", "str_tb_yjwb");                //颗粒分析结果                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_ck_klcc_xsmk.ToString(), "M_KLFXJG", "b_ck_klcc_xsmk");//是否显示模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_klcc_jsfs.ToString(), "M_KLFXJG", "index_cb_klcc_jsfs");//计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.str_cb_klcc_jsfs.ToString(), "M_KLFXJG", "str_cb_klcc_jsfs");//计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_klcc_ljb.ToString(), "M_KLFXJG", "index_cb_klcc_ljb");//粒级表                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_klcc_klfw.ToString(), "M_KLFXJG", "index_cb_klcc_klfw");//颗粒范围                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_cb_jzwfl_xsmk.ToString(), "M_KLFXJG", "b_cb_jzwfl_xsmk");//是否显示该模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_jzwfl_xstx.ToString(), "M_KLFXJG", "index_cb_jzwfl_xstx");//选择图像                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_jzwfl_jsfs.ToString(), "M_KLFXJG", "index_cb_jzwfl_jsfs");//计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_jzwfl_ljb.ToString(), "M_KLFXJG", "index_cb_jzwfl_ljb");//粒级表                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_jzwfl_klfw.ToString(), "M_KLFXJG", "index_cb_jzwfl_klfw");//颗粒范围                //元素分析结果                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.b_ck_ysfx_xsmk.ToString(), "M_YSFXJG", "b_ck_ysfx_xsmk");    //是否显示模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.index_cb_yxfx_jsfs.ToString(), "M_YSFXJG", "index_cb_yxfx_jsfs");    //计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.index_cb_ysfx_klfw.ToString(), "M_YSFXJG", "index_cb_ysfx_klfw");    //颗粒范围                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.str_tb_ysfx_xsys.ToString(), "M_YSFXJG", "str_tb_ysfx_xsys");        //显示元素                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Count; i++)                              //元素列表                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys[i].ToString(), "M_YSFXJG", "list_str_tb_ysfx_xsys", "YS" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                for (int i = m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_YSFXJG", "list_str_tb_ysfx_xsys", "YS" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_YSFXJG", "list_str_tb_ysfx_xsys", "YS" + strxh);                    }                    else                    {                        break;                    }                }                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.b_ck_yscf_xsmk.ToString(), "M_YSFXJG", "b_ck_yscf_xsmk");    //是否显示模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.index_cb_yscf_xstx.ToString(), "M_YSFXJG", "index_cb_yscf_xstx");    //显示图形                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.index_cb_yscf_jsfs.ToString(), "M_YSFXJG", "index_cb_yscf_jsfs");    //计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.index_cb_yscf_klfw.ToString(), "M_YSFXJG", "index_cb_yscf_klfw");    //颗粒范围                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.str_tb_yscf_ysxx.ToString(), "M_YSFXJG", "str_tb_yscf_ysxx");    //显示元素                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_yscf_ysxx.Count; i++)                              //元素列表                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_yscf_ysxx[i].ToString(), "M_YSFXJG", "list_str_tb_yscf_ysxx", "YS" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                for (int i = m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_yscf_ysxx.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_YSFXJG", "list_str_tb_yscf_ysxx", "YS" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_YSFXJG", "list_str_tb_yscf_ysxx", "YS" + strxh);                    }                    else                    {                        break;                    }                }                //三元相图                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.b_ck_syxt_xsmk.ToString(), "M_SYXT", "b_ck_syxt_xsmk");    //是否显示模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.index_cb_syxt_jsfs.ToString(), "M_SYXT", "index_cb_syxt_jsfs");    //计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.index_cb_syxt_klfw.ToString(), "M_SYXT", "index_cb_syxt_klfw");    //颗粒范围                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.str_cb_syxt_mhxssl.ToString(), "M_SYXT", "str_cb_syxt_mhxssl");    //每行显示数量                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb.Count; i++)                              //三元相图模板 list 文本                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb[i].ToString(), "M_SYXT", "list_lbv_syxt_mblb", "MB" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                for (int i = m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_SYXT", "list_lbv_syxt_mblb", "MB" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_SYXT", "list_lbv_syxt_mblb", "MB" + strxh);                    }                    else                    {                        break;                    }                }                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count; i++)                              //三元相图模板 list 索引                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index[i].ToString(), "M_SYXT", "list_lbv_syxt_mblb_index", "MBIndex" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                for (int i = m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_SYXT", "list_lbv_syxt_mblb_index", "MBIndex" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_SYXT", "list_lbv_syxt_mblb_index", "MBIndex" + strxh);                    }                    else                    {                        break;                    }                }                //颗粒列表信息                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_xsmk.ToString(), "M_KLLBXX", "b_ck_kllb_xsmk");    //是否显示模块                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_fjzt.ToString(), "M_KLLBXX", "b_ck_kllb_fjzt");//附加帧图                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_jsfs.ToString(), "M_KLLBXX", "index_cb_kllb_jsfs");    //计算方式                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_klfw.ToString(), "M_KLLBXX", "index_cb_kllb_klfw");    //颗粒范围                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.int_tb_kllb_ylsx.ToString(), "M_KLLBXX", "int_tb_kllb_ylsx");    //数量上限                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_tb_kllb_sxys.ToString(), "M_KLLBXX", "str_tb_kllb_sxys");    //显示元素                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_tb_lllb_sxys.Count; i++)                              //显示元素列表                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_tb_lllb_sxys[i].ToString(), "M_KLLBXX", "list_str_tb_lllb_sxys", "YS" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                for (int i = m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_tb_lllb_sxys.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_KLLBXX", "list_str_tb_lllb_sxys", "YS" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_KLLBXX", "list_str_tb_lllb_sxys", "YS" + strxh);                    }                    else                    {                        break;                    }                }                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_ystx.ToString(), "M_KLLBXX", "b_ck_kllb_ystx");    //原始图像                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_fdtx.ToString(), "M_KLLBXX", "b_ck_kllb_fdtx");    //放大图像                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_npxx.ToString(), "M_KLLBXX", "b_ck_kllb_npxx");    //能谱图像                                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1.ToString(), "M_KLLBXX", "str_cb_kllb_sort_p1");//颗粒排序表列第一个可选参数(string)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p1.ToString(), "M_KLLBXX", "index_cb_kllb_sort_p1");//颗粒排序表列第一个可选参数(index)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p2.ToString(), "M_KLLBXX", "str_cb_kllb_sort_p2");//颗粒排序表列第二个可选参数(string)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p2.ToString(), "M_KLLBXX", "index_cb_kllb_sort_p2");//颗粒排序表列第二个可选参数(index)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p3.ToString(), "M_KLLBXX", "str_cb_kllb_sort_p3");//颗粒排序表列第三个可选参数(string)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p3.ToString(), "M_KLLBXX", "index_cb_kllb_sort_p3");//颗粒排序表列第三个可选参数(index)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p1.ToString(), "M_KLLBXX", "str_cb_kllb_chartSort_p1");//帧图表列第一个可选参数(string)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p1.ToString(), "M_KLLBXX", "index_cb_kllb_chartSort_p1");//帧图表列第一个可选参数(index)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p2.ToString(), "M_KLLBXX", "str_cb_kllb_chartSort_p2");//帧图表列第二个可选参数(string)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p2.ToString(), "M_KLLBXX", "index_cb_kllb_chartSort_p2");//帧图表列第二个可选参数(index)                                                                                                                                                       //xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p3.ToString(), "M_KLLBXX", "str_cb_kllb_chartSort_p3");//帧图表列第三个可选参数(string)                                                                                                                                                       //xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p3.ToString(), "M_KLLBXX", "index_cb_kllb_chartSort_p3");//帧图表列第三个可选参数(index)                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_kllb_qcys.ToString(), "M_KLLBXX", "str_kllb_qcys");                                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_qcys.Count; i++)                              //去除元素列表                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_qcys[i].ToString(), "M_KLLBXX", "list_str_kllb_qcys", "YS" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                for (int i = m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_qcys.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_KLLBXX", "list_str_kllb_qcys", "YS" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_KLLBXX", "list_str_kllb_qcys", "YS" + strxh);                    }                    else                    {                        break;                    }                }                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_kllb_DeleteClass.ToString(), "M_KLLBXX", "str_kllb_DeleteClass");                for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass.Count; i++)                              //去除元素列表                {                    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass[i].ToString(), "M_KLLBXX", "list_str_kllb_DeleteClass", "YS" + i.ToString());                }                //然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取                for (int i = m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass.Count; i < 1000; i++)                {                    string strxh = i.ToString();                    if (null != xmlutil.Read("M_KLLBXX", "list_str_kllb_DeleteClass", "YS" + strxh))                    {                        //删除该节点                        xmlutil.RemoveNode("M_KLLBXX", "list_str_kllb_DeleteClass", "YS" + strxh);                    }                    else                    {                        break;                    }                }                //夹杂物占比                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_JZWZB.b_ck_surface.ToString(), "M_JZWZB", "b_ck_surface");//夹杂物占比表                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_JZWZB.b_ck_chart.ToString(), "M_JZWZB", "b_ck_chart");//夹杂物占比图            }        }        private void SaveTemplateParameters()        {            //首页            m_OTSReport_Export.m_mbszclass.M_SY.str_tb_ZBT = tb_ZBT.Text;            m_OTSReport_Export.m_mbszclass.M_SY.str_tb_FBT = tb_FBT.Text;            m_OTSReport_Export.m_mbszclass.M_SY.str_tb_YPBH = tb_YPBH.Text;            m_OTSReport_Export.m_mbszclass.M_SY.str_tb_CKBZ = tb_CKBZ.Text;            m_OTSReport_Export.m_mbszclass.M_SY.b_ck_ypsm = ck_ypsm.Checked;            m_OTSReport_Export.m_mbszclass.M_SY.b_ck_jggk = ck_jggk.Checked;            //页眉页脚            m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_ymwb = tb_ymwb.Text;            m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_KHH = tb_khh.Text;            m_OTSReport_Export.m_mbszclass.M_YMYJ.b_ck_ym = ck_ym.Checked;            m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_yjwb = tb_yjwb.Text;            //颗粒分析结果            m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_ck_klcc_xsmk = ck_klcc_xsmk.Checked;            m_OTSReport_Export.m_mbszclass.M_KLFXJG.str_cb_klcc_jsfs = cb_klcc_jsfs.Text;//计算方式            m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_klcc_jsfs = cb_klcc_jsfs.SelectedIndex;            m_OTSReport_Export.m_mbszclass.M_KLFXJG.str_cb_klcc_ljb = cb_klcc_ljb.Text;//粒级表            m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_klcc_ljb = cb_klcc_ljb.SelectedIndex;                       //元素分析结果            m_OTSReport_Export.m_mbszclass.M_YSFXJG.b_ck_ysfx_xsmk = ck_ysfx_xsmk.Checked;                       m_OTSReport_Export.m_mbszclass.M_YSFXJG.str_tb_ysfx_xsys = tb_ysfx_xsys.Text;//显示元素            //三元相图            m_OTSReport_Export.m_mbszclass.M_SYXT.b_ck_syxt_xsmk = ck_syxt_xsmk.Checked;                       m_OTSReport_Export.m_mbszclass.M_SYXT.str_cb_syxt_ljb = cb_syxt_ljb.Text;//粒级表            m_OTSReport_Export.m_mbszclass.M_SYXT.index_cb_syxt_ljb = cb_syxt_ljb.SelectedIndex;            m_OTSReport_Export.m_mbszclass.M_SYXT.str_cb_syxt_mhxssl = cb_syxt_mhxssl.Text;//每行显示数量            //获取勾选的项            m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb.Clear();            m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Clear();            for (int i = 0; i < lbv_syxt_mblb.CheckedItems.Count; i++)            {                string str = lbv_syxt_mblb.CheckedItems[i].Text;                m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb.Add(str);                //同时保存三元素相图的索引                for (int j = 0; j < lbv_syxt_mblb.Items.Count; j++)                {                    if (str == lbv_syxt_mblb.Items[j].Text)                        m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Add(j);                }            }            //颗粒列表信息            m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_xsmk = ck_kllb_xsmk.Checked;            m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_fjzt = ck_kllb_fjzt.Checked;            m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1 = comboBox_p1.Text;//颗粒列表行第一个字段的可选参数            m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p1 = comboBox_p1.SelectedIndex;            m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p2 = comboBox_p2.Text;//颗粒列表行第二个字段的可选参数            m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p2 = comboBox_p2.SelectedIndex;            m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p3 = comboBox_p3.Text;//颗粒列表行第三个字段的可选参数            m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p3 = comboBox_p3.SelectedIndex;            m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p1 = cb_FrameChart_p1.Text;//颗粒帧图表行第一个字段的可选参数            m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p1 = cb_FrameChart_p1.SelectedIndex;            m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p2 = cb_FrameChart_p2.Text;//颗粒帧图表行第二个字段的可选参数            m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p2 = cb_FrameChart_p2.SelectedIndex;            m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_kllb_qcys = tb_RemoveElements.Text;//去除不要的物质元素            m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_kllb_DeleteClass = delete_Class.Text;//去除不要的物质分类            if (ck_kllb_xsmk.Checked)            {                //m_OTSReport_Export.m_mbszclass.M_KLLBXX.int_tb_kllb_ylsx = Convert.ToInt32(tb_kllb_ylsx.Text.Trim());//数量上限            }            else            {                m_OTSReport_Export.m_mbszclass.M_KLLBXX.int_tb_kllb_ylsx = Convert.ToInt32("1");            }            //m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_tb_kllb_sxys = tb_kllb_sxys.Text;//显示元素            m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_ystx = ck_kllb_ystx.Checked;//原始图像            m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_fdtx = ck_kllb_fdtx.Checked;//放大图像            m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_npxx = ck_kllb_npxx.Checked;//能谱图像            //备注            m_OTSReport_Export.m_mbszclass.M_SY.str_bz = textBox_strBZ.Text;            //选择颗粒导出范围            m_OTSReport_Export.m_mbszclass.M_SY.str_xzkl = cb_ParticleRange.Text;//颗粒范围内容            m_OTSReport_Export.m_mbszclass.M_SY.int_xzkl = cb_ParticleRange.SelectedIndex;//颗粒范围索引            //夹杂物占比            m_OTSReport_Export.m_mbszclass.M_JZWZB.b_ck_surface = ck_jzwzb_surface.Checked;//夹杂物占比表            m_OTSReport_Export.m_mbszclass.M_JZWZB.b_ck_chart = ck_jzwzb_chart.Checked;//夹杂物占比图        }        private void LoadControls()        {            //备注            textBox_strBZ.Text = m_OTSReport_Export.m_mbszclass.M_SY.str_bz;            cb_ParticleRange.Text = m_OTSReport_Export.m_mbszclass.M_SY.str_xzkl;            //首页            tb_ZBT.Text = m_OTSReport_Export.m_mbszclass.M_SY.str_tb_ZBT;            tb_FBT.Text = m_OTSReport_Export.m_mbszclass.M_SY.str_tb_FBT;            tb_YPBH.Text = m_OTSReport_Export.m_mbszclass.M_SY.str_tb_YPBH;            tb_CKBZ.Text = m_OTSReport_Export.m_mbszclass.M_SY.str_tb_CKBZ;            ck_ypsm.Checked = m_OTSReport_Export.m_mbszclass.M_SY.b_ck_ypsm;            ck_jggk.Checked = m_OTSReport_Export.m_mbszclass.M_SY.b_ck_jggk;            //页眉页脚            tb_ymwb.Text = m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_ymwb;            tb_khh.Text = m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_KHH;            ck_ym.Checked = m_OTSReport_Export.m_mbszclass.M_YMYJ.b_ck_ym;            tb_yjwb.Text = m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_yjwb;            //颗粒分析结果            ck_klcc_xsmk.Checked = m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_ck_klcc_xsmk;            //cb_klcc_ljb.Text = m_OTSReport_Export.m_mbszclass.M_KLFXJG.str_cb_klcc_jsfs;//计算方式            cb_klcc_jsfs.SelectedIndex = m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_klcc_jsfs;            //cb_klcc_ljb.Text = m_OTSReport_Export.m_mbszclass.M_KLFXJG.str_cb_klcc_ljb;//粒级表            cb_klcc_ljb.SelectedIndex = m_OTSReport_Export.m_mbszclass.M_KLFXJG.index_cb_klcc_ljb;                       //元素分析结果            ck_ysfx_xsmk.Checked = m_OTSReport_Export.m_mbszclass.M_YSFXJG.b_ck_ysfx_xsmk;                     tb_ysfx_xsys.Text = m_OTSReport_Export.m_mbszclass.M_YSFXJG.str_tb_ysfx_xsys;//显示元素            //三元相图            ck_syxt_xsmk.Checked = m_OTSReport_Export.m_mbszclass.M_SYXT.b_ck_syxt_xsmk;                       cb_syxt_ljb.SelectedIndex = m_OTSReport_Export.m_mbszclass.M_SYXT.index_cb_syxt_ljb;//粒级表            cb_syxt_mhxssl.Text = m_OTSReport_Export.m_mbszclass.M_SYXT.str_cb_syxt_mhxssl;// 每行显示数量            //获取勾选的项            for (int i = 0; i < lbv_syxt_mblb.Items.Count; i++)            {                for (int j = 0; j < m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb.Count; j++)                {                    if (lbv_syxt_mblb.Items[i].Text == m_OTSReport_Export.m_mbszclass.M_SYXT.list_lbv_syxt_mblb[j])                    {                        //匹配到了                        lbv_syxt_mblb.Items[i].Checked = true;                    }                }            }            //颗粒列表信息            ck_kllb_xsmk.Checked = m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_xsmk;            ck_kllb_fjzt.Checked = m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_fjzt;            tb_RemoveElements.Text = m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_kllb_qcys;            ck_kllb_ystx.Checked = m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_ystx;//原始图像            ck_kllb_fdtx.Checked = m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_fdtx;//放大图像            ck_kllb_npxx.Checked = m_OTSReport_Export.m_mbszclass.M_KLLBXX.b_ck_kllb_npxx;//能谱图像                       comboBox_p1.SelectedIndex = m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p1;            comboBox_p2.SelectedIndex = m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p2;            comboBox_p3.SelectedIndex = m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p3;            cb_FrameChart_p1.SelectedIndex = m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p1;            cb_FrameChart_p2.SelectedIndex = m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p2;            //cb_FrameChart_p3.SelectedIndex = m_OTSReport_Export.m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p3;            delete_Class.Text = m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_kllb_DeleteClass;            //夹杂物占比            ck_jzwzb_surface.Checked = m_OTSReport_Export.m_mbszclass.M_JZWZB.b_ck_surface;//夹杂物占比表            ck_jzwzb_chart.Checked = m_OTSReport_Export.m_mbszclass.M_JZWZB.b_ck_chart;//夹杂物占比图        }        /// <summary>        ///绑定下拉框,指定绑定的位置        /// </summary>        private void BindComboBox(ComboBox cbo, OTS_REPORT_PROP_GRID_ITEMS in_enum)        {            cbo.Items.Clear();            List<string> list_str = new List<string>();            switch (in_enum)            {                case OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE://计算方式                    list_str = m_OTSReport_Export.m_ReportApp.m_rstDataMgr.GetSizeCalMethodTypeList();                    break;                case OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE://粒级表                    list_str = m_OTSReport_Export.m_ReportApp.m_rstDataMgr.GetPartSizeFileList();                    break;                case OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE://数据类型,全部颗粒,分析颗粒                    list_str = m_OTSReport_Export.m_ReportApp.m_rstDataMgr.ParticleRange();                    break;                case OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE://三元相图模板                    list_str = m_OTSReport_Export.m_ReportApp.m_rstDataMgr.GetTriTemplateNameList();                    break;                case OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST://三元相图模板                    list_str = m_OTSReport_Export.m_ReportApp.m_rstDataMgr.getTableData();                    break;            }            for (int i = 0; i < list_str.Count; i++)            {                cbo.Items.Add(list_str[i]);            }            if (cbo.Items.Count > 0)                cbo.SelectedIndex = 0;        }        /// <summary>        /// 对选择的元素进行显示及选择的封装方法        /// </summary>        /// <param name="in_tb"></param>        private void SetPeriodicTableControl(TextBox in_tb, List<string> in_list_str)        {            in_list_str.Clear();            //打开编辑元素列表窗体            OTSPeriodicTableForm_Small opts = new OTSPeriodicTableForm_Small();            //获取需要显示的元素列表,并转换成元素周期表窗体可接受的格式,传入----------------------            string str_xsys = in_tb.Text.Trim();            List<string> list_str = new List<string>();            string[] strs = str_xsys.Split(',');            for (int i = 0; i < strs.Length; i++)            {                list_str.Add(strs[i]);            }            //清除元素周期表中所有的记录            opts.m_List_Periodic.Clear();            //将该分类下的元素添加到元素周期表窗体的List_periodic中            for (int i = 0; i < strs.Length; i++)            {                string str_ysm = strs[i];                Periodic ls_periodic = new Periodic();                ls_periodic = CListPeriodic.GetPeriodicByYsm(CListPeriodic.GetListPeriodic(), str_ysm);                opts.m_List_Periodic.Add(ls_periodic);            }            //----------------------------------------------------------------------------------------            opts.ShowDialog();            //先清空元素            str_xsys = "";            //然后再将选择的元素,组合起来,返回显示到该窗体上            if (opts.m_List_Periodic.Count > 0)            {                for (int i = 0; i < opts.m_List_Periodic.Count; i++)                {                    if (str_xsys == "")                    {                        str_xsys = opts.m_List_Periodic[i].FH;                    }                    else                    {                        str_xsys = str_xsys + "," + opts.m_List_Periodic[i].FH;                    }                    //同时将元素保存到字符串列表中                    in_list_str.Add(opts.m_List_Periodic[i].FH);                }            }            //再对选择的元素进行显示            in_tb.Text = str_xsys;        }                /// <summary>        /// 选择显示颗粒列表中的图片        /// </summary>            #endregion        #region 相关控件事件        private void button6_Click(object sender, EventArgs e)        {            if (VerifyControlValue() == false)                return;            string[] after  = tb_ysfx_xsys.Text.Split(new char[] { ',' });            m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Clear();            for (int i=0;i< after.Length;i++)            {                m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Add(after[i]);            }            //拆分,物质分类            m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass.Clear();            for (int i=0;i< delete_Class.Text.Split(',').Length;i++)            {                if (delete_Class.Text.Split(',')[i]!="")                m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass.Add(delete_Class.Text.Split(',')[i]);            }                        SaveTemplateParameters();            this.DialogResult = DialogResult.Yes;            //保存到上次路径文件            SaveFileToXml();            this.Close();        }                       private void cb_syxt_mhxssl_SelectedIndexChanged(object sender, EventArgs e)        {                  }             #endregion        private void comboBox_PeriodicTable_SelectedIndexChanged(object sender, EventArgs e)        {            if (comboBox_PeriodicTable.Text != null && comboBox_PeriodicTable.SelectedItem != null)            {                string newStr = comboBox_PeriodicTable.SelectedItem.ToString();                string[] after = tb_ysfx_xsys.Text.Split(new char[] { ',' });                for (int i=0;i< after.Length;i++)                {                    if (after[i] == newStr)                    {                        MessageBox.Show("Element already exists!");                        return;                    }                }                if (tb_ysfx_xsys.Text == "")                    tb_ysfx_xsys.Text = tb_ysfx_xsys.Text + newStr;                else if (tb_ysfx_xsys.Text.Substring(tb_ysfx_xsys.Text.Length - 1) != ",")                    tb_ysfx_xsys.Text = tb_ysfx_xsys.Text + "," + newStr;                else                    tb_ysfx_xsys.Text = tb_ysfx_xsys.Text + newStr;                comboBox_PeriodicTable.Text = null;            }        }        private void comboBox_PeriodicTable_KeyDown(object sender, KeyEventArgs e)        {        }        private void button3_Click_1(object sender, EventArgs e)        {            string str = "";            string[] after = tb_ysfx_xsys.Text.Split(new char[] { ',' });            for (int i=0;i< after.Length-1;i++)            {                if (i == after.Length - 2)                    str = str + after[i];                else                    str = str + after[i] + ",";            }            tb_ysfx_xsys.Text = str;        }        private void ck_jzwzb_surface_CheckedChanged(object sender, EventArgs e)        {            if (ck_jzwzb_surface.Checked==false)            {                ck_jzwzb_chart.Checked = false;            }        }        private void button5_Click(object sender, EventArgs e)        {            SetPeriodicTableControl(tb_RemoveElements, m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_qcys);        }    }}
 |