1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using MeasureData;
- using System.Configuration;
- using FileManager;
- using System.IO;
- using System.Runtime.InteropServices;
- //20201029:注释
- //初始化窗口管理的是参数,包括,测量文件使用的参数,配置文件中的参数(默认参数),或者保存成参数文件。
- //初始化窗口中显示的参数是测量文件在使用的参数。
- //点击确认,对当前修改的参数保存到测量文件中去。
- //点击保存默认设置,当前修改的参数保存到AppConfig中,下次打开时作为默认值打开。
- //点击保存成配置文件,将以文件的形式将参数保存在文件中
- //参数又分为两种类型,客户操作可见的类型,在AppConfig中参数,
- //客户操作的参数,可以每次都针对测量进行修改
- //这类参数包括:
- //是否是倾斜的样品台
- //是否仅拍照
- //是否使用PT
- //PT加工文件
- //FIB加工文件
- //样品名称
- //厂商
- //拉直操作的放大倍数
- //定位的电压
- //定位的放大倍数
- //拍照的电压
- //拍照的放大倍数
- //AppConfig中的参数,通常不需要修改,每次修改要在配置文件中修改,要重新启动程序
- //这类参数包括:
- //四组对焦参数
- //Z轴的移动距离
- //各个参数需要有一系列的默认值,并且各个值可以修改,删除
- namespace HOZProject
- {
- public partial class UControl_Init : UserControl
- {
- #region 成员变量
- //可供选择的各个参数的值列表
- String[] sT;//样品类型列表
- String[] firms;//厂商列表
- String[] WPZD;//拍照电压列表
- String[] WPZF;//拍照放大倍数列表
- String[] WQGD;//定位电压列表
- String[] WQGF;//定位电压放大倍数列表
- String[] WLZ;//拉直电压列表
- String[] WFIB;//FIB电压列表
- //配置文件
- Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
- //依附与主工作窗口
- private FormHOZMain formHOZMain;
- public FormHOZMain FormHOZMainObject { get => formHOZMain; set => formHOZMain = value; }
-
- //模板路径
- private string readConfigPath;
- public string ReadConfigPath { get => readConfigPath; set => readConfigPath = value; }
-
- //模板文件默认路径
- private string m_TemplateFilePath;
- #endregion
- #region 构造方法
- public UControl_Init(FormHOZMain formHOZ)
- {
- InitializeComponent();
- FormHOZMainObject = formHOZ;
- }
- #endregion
- #region 窗体加载
- private void UControl_Init_Load(object sender, EventArgs e)
- {
- //从配置文件中读取一系列的信息
- //ReloadConfig();
- }
- #endregion
- #region 关闭窗体
- private void btnClose_Click(object sender, EventArgs e)
- {
- //按照当前的值,更新测量文件的参数
- SaveMeasureFile();
- Form fParent = this.ParentForm;
- fParent.Close();
- }
- #endregion
- #region 加载切孔文件,生成切孔列表
- private void btnCutHoleFile_Click(object sender, EventArgs e)
- {
- try
- {
- if (FormHOZMainObject.m_MeasureFile == null)
- {
- MessageBox.Show("请新建一个测量文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- else
- {
- if (!FormHOZMainObject.m_MeasureFile.GetCutHolesFromFile(""))
- {
- MessageBox.Show("导入切孔失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- else
- {
- List<CutHole> ListCutHole = FormHOZMainObject.m_MeasureFile.ListCutHole;
- //文件路径
- string CutHoleFilePath = FormHOZMainObject.m_MeasureFile.CutHoleFilePath;
- FormHOZMainObject.CreateCutHoleList(ListCutHole);
- //显示导入的切孔数量
- lblCutHoleCount.Text = string.Format("成功导入{0}个切孔", ListCutHole.Count);
- tbCutHoleFilePath.Text = CutHoleFilePath;
- //保存测量文件
- if (Directory.Exists(FormHOZMainObject.m_MeasureFile.FilePath))
- {
- FormHOZMainObject.m_MeasureFile.Save();
- }
- }
- }
- }
- catch (Exception ex)
- {
- LogManager.LogError(ex.Message);
- }
- }
- private void pbCutHoleFile_Click(object sender, EventArgs e)
- {
-
- }
- #endregion
- #region 根据一个切孔文件,自动计算其他切孔信息
- /// <summary>
- /// 根据一个切孔,自动计算其他切孔信息
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- ///
- private void btnCutHoleAuto_Click(object sender, EventArgs e)
- {
- try
- {
- if (FormHOZMainObject.m_MeasureFile == null)
- {
- MessageBox.Show("请新建一个测量文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- else
- {
- if (!FormHOZMainObject.m_MeasureFile.GetCutHolesFromFile(""))
- {
- MessageBox.Show("导入切孔失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- else
- {
- List<CutHole> ListCutHole = FormHOZMainObject.m_MeasureFile.ListCutHole;
- if (ListCutHole != null)
- {
- if (ListCutHole.Count > 0)
- {
- //根据切孔文件的一个切孔,自动计算其他切孔位置
- float centerX = 65;
- float centerY = 65;
- float firstX = ListCutHole[0].Position.X;
- float firstY = ListCutHole[0].Position.Y;
- //距离
- float distance = Convert.ToSingle(config.AppSettings.Settings["distance"].Value.ToString());
- //矩阵 4*4
- int rag = Convert.ToInt32(config.AppSettings.Settings["rag"].Value.ToString());
- List<PointF> cutHolePoint = new List<PointF>();
- //根据一个切孔点计算其他切孔信息
- cutHolePoint = AnalysisPosition(centerX, centerY, firstX, firstY, distance, rag);
- if (!FormHOZMainObject.m_MeasureFile.GetCutHolesFromAnalysisPosition(cutHolePoint))
- {
- MessageBox.Show("生成切孔失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- else
- {
- //文件路径
- string CutHoleFilePath = FormHOZMainObject.m_MeasureFile.CutHoleFilePath;
- //重新获取切孔列表信息
- ListCutHole = FormHOZMainObject.m_MeasureFile.ListCutHole;
- //创建切孔列表信息
- FormHOZMainObject.CreateCutHoleList(ListCutHole);
- //显示导入的切孔数量
- lblCutHoleCount.Text = string.Format("成功生成{0}个切孔", ListCutHole.Count);
- tbCutHoleFilePath.Text = CutHoleFilePath;
- }
- }
- }
- //保存测量文件
- if (FormHOZMainObject.IsSave)
- {
- FormHOZMainObject.m_MeasureFile.Save();
- }
- }
- }
- }
- catch (Exception ex)
- {
- LogManager.LogError(ex.Message);
- }
- }
- private void pbCutHoleAuto_Click(object sender, EventArgs e)
- {
-
- }
- /// <summary>
- /// 分析点坐标
- /// </summary>
- /// <param name="centerX">中心点X轴坐标</param>
- /// <param name="centerY">中心点Y轴坐标</param>
- /// <param name="firstX">第一个点X轴坐标</param>
- /// <param name="firstY">第一个点Y轴坐标</param>
- /// <param name="distance">点与点的距离</param>
- /// <param name="rag">行、列数</param>
- /// <param name="ptsx">计算生成所有X轴坐标</param>
- /// <param name="ptsy">计算生成所有Y轴坐标</param>
- public List<PointF> AnalysisPosition(float centerX, float centerY, float firstX, float firstY, float distance, int rag)
- {
- //求样品1的水平角度
- double angle = 0;
- //清空所有点信息
- List<float> ptsx = new List<float>();
- List<float> ptsy = new List<float>();
- //将第一个点加入到点信息中
- ptsx.Add(firstX);
- ptsy.Add(firstY);
- //计算第一个点与X轴的交角度数
- angle = Math.Atan2(ptsy[0] - centerY, centerX - ptsx[0]) * 180 / Math.PI;
- //这里是求与第一个点横向排列的其他点的移动角度
- //就是按45度向左向右移动的度
- angle = 45 - angle;
- angle = angle * Math.PI / 180;
- float tx = 0;
- float ty = 0;
- for (int j = 0; j < rag; j++)
- {
- //计算每行第一个点的坐标
- if (j > 0)
- {
- tx = (float)(distance * j * Math.Sin(angle));
- ty = (float)(distance * j * Math.Cos(angle));
- ptsx.Add(tx + ptsx[0]);
- ptsy.Add(ptsy[0] - ty);
- }
- //计算每行其他点的坐标
- for (int i = 1; i < rag; i++)
- {
- tx = (float)(distance * i * Math.Cos(angle));
- ty = (float)(distance * i * Math.Sin(angle));
- ptsx.Add(tx + ptsx[j * rag]);
- ptsy.Add(ty + ptsy[j * rag]);
- }
- }
- List<PointF> pts = new List<PointF>();
- for (int i = 0; i < ptsx.Count; i++)
- {
- //增加的点
- PointF pf = new PointF();
- pf.X = ptsx[i];
- pf.Y = ptsy[i];
- pts.Add(pf);
- }
- return pts;
- }
- #endregion
- #region 加载PT模板文件
- private void btnPTTemplateFile_Click(object sender, EventArgs e)
- {
- string FilePathName;
- string fileNameWithoutExtension;
- //新建一个文件对话框
- OpenFileDialog pOpenFileDialog = new OpenFileDialog();
- //设置对话框标题
- pOpenFileDialog.Title = "选择模板文件";
- //设置打开文件类型
- pOpenFileDialog.Filter = "ely文件(*.ely)|*.ely";
- ////监测文件是否存在
- //pOpenFileDialog.CheckFileExists = true;
- //文件打开后执行以下程序
- if (pOpenFileDialog.ShowDialog() == DialogResult.OK)
- {
- FilePathName = System.IO.Path.GetFullPath(pOpenFileDialog.FileName); //绝对路径
- fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(FilePathName);
- this.txtWPTF.Text = FilePathName;
- }
- }
- private void pbTemplateFile_Click(object sender, EventArgs e)
- {
-
- }
- #endregion
- #region 加载FIB模板文件
- private void btnFIBTemplateFile_Click(object sender, EventArgs e)
- {
- string FilePathName;
- string fileNameWithoutExtension;
- //新建一个文件对话框
- OpenFileDialog pOpenFileDialog = new OpenFileDialog();
- //设置对话框标题
- pOpenFileDialog.Title = "选择模板文件";
- //设置打开文件类型
- pOpenFileDialog.Filter = "ely文件(*.ely)|*.ely";
- ////监测文件是否存在
- //pOpenFileDialog.CheckFileExists = true;
- //文件打开后执行以下程序
- if (pOpenFileDialog.ShowDialog() == DialogResult.OK)
- {
- FilePathName = System.IO.Path.GetFullPath(pOpenFileDialog.FileName); //绝对路径
- fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(FilePathName);
- this.txtWFIBF.Text = FilePathName;
- }
- }
- private void pbFIBTemplateFile_Click(object sender, EventArgs e)
- {
-
- }
- #endregion
- #region 创建与读取样品参数、配置文件
- private void btnCreateConfig_Click(object sender, EventArgs e)
- {
- if (Convert.ToInt32(cbbWFIB.Text) < 200)
- {
- MessageBox.Show("FIB最小放大倍数为200倍");
- }
- else
- {
- SaveTemplateFile();
- }
- }
- /// <summary>
- /// 获取测量参数,初始化窗体中的控件信息
- /// </summary>
- /// <returns></returns>
- public MeasureParam GetMeasureParamInfo()
- {
- //从当前界面内获取参数
- MeasureParam cfm = new MeasureParam();
- cfm.Is_Photograph = chkWIsP.Checked;//是否仅拍照
- cfm.PT = chkWPT.Checked;//是否有PT
- cfm.Title = chkWqxkc.Checked;//是否倾斜样品台
- //cfm.EDS =
- //自动对焦模式
- //cfm.FocusMode = chkManul.Checked;
- cfm.PTTemp = txtWPTF.Text;//PT文件路径
- cfm.FIBTemp = txtWFIBF.Text;//FIB文件路径
- cfm.Stretch_Magnification = Convert.ToSingle(cbbWLZ.Text);//来自放大倍数
- cfm.Location_Magnification = Convert.ToSingle(cbbWQGF.Text);//定位的放大倍数
- cfm.Location_Voltage = Convert.ToSingle(cbbWQGD.Text);//定位的放大电压
- cfm.Photograph_Magnification = Convert.ToSingle(cbbWPZF.Text);//拍照的放大倍数
- cfm.Photograph_Voltage = Convert.ToSingle(cbbWPZD.Text);//拍照的电压
- cfm.FIB_Magnification = Convert.ToSingle(cbbWFIB.Text);//FIB的放大倍数
- if (cbbWXZ.SelectedIndex == 0)//校正角度
- {
- cfm.Correction_Angle = 36;
- }
- else
- {
- cfm.Correction_Angle = 54;
- }
- cfm.SampleName = cbbWYP.Text;//样品类型
- cfm.Firm = cbbWCS.Text;//厂商类型
- return cfm;
- }
- public void SaveTemplateFile()
- {
- //获取当前文件的参数
- MeasureParam cfm = FormHOZMainObject.m_MeasureFile.MParam;
-
- //根据界面显示内容更新参数
- cfm.Is_Photograph = chkWIsP.Checked;
- cfm.PT = chkWPT.Checked;
- cfm.Title = chkWqxkc.Checked;//是否倾斜样品台
- //自动对焦模式
- //cfm.FocusMode = chkManul.Checked;
- cfm.PTTemp = txtWPTF.Text;
- cfm.FIBTemp = txtWFIBF.Text;
- cfm.Stretch_Magnification = Convert.ToSingle(cbbWLZ.Text);
- cfm.Location_Magnification = Convert.ToSingle(cbbWQGF.Text);
- cfm.Location_Voltage = Convert.ToSingle(cbbWQGD.Text);
- cfm.Photograph_Magnification = Convert.ToSingle(cbbWPZF.Text);
- cfm.Photograph_Voltage = Convert.ToSingle(cbbWPZD.Text);
- cfm.FIB_Magnification = Convert.ToSingle(cbbWFIB.Text);
- if (cbbWXZ.SelectedIndex == 0)
- {
- cfm.Correction_Angle = 36;
- }
- else
- {
- cfm.Correction_Angle = 54;
- }
- cfm.SampleName = cbbWYP.Text;
- cfm.Firm = cbbWCS.Text;
- //保存配置文件中的参数
- cfm.ZDistance = Convert.ToSingle(ConfigurationManager.AppSettings["ZDistance"].ToString());
- cfm.AutoFocus.UP = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_UP"].ToString());
- cfm.AutoFocus.Down = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_Down"].ToString());
- cfm.AutoFocus.Step = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_Step"].ToString());
- cfm.AutoFocus.Range = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_Range"].ToString());
- cfm.AutoFocus.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_FStep"].ToString());
- cfm.FIBFocus.UP = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_UP"].ToString());
- cfm.FIBFocus.Down = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_Down"].ToString());
- cfm.FIBFocus.Step = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_Step"].ToString());
- cfm.FIBFocus.Range = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_Range"].ToString());
- cfm.FIBFocus.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_FStep"].ToString());
- cfm.AutoStigX.UP = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_UP"].ToString());
- cfm.AutoStigX.Down = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_Down"].ToString());
- cfm.AutoStigX.Step = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_Step"].ToString());
- cfm.AutoStigX.Range = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_Range"].ToString());
- cfm.AutoStigX.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_FStep"].ToString());
- cfm.AutoStigY.UP = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_UP"].ToString());
- cfm.AutoStigY.Down = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_Down"].ToString());
- cfm.AutoStigY.Step = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_Step"].ToString());
- cfm.AutoStigY.Range = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_Range"].ToString());
- cfm.AutoStigY.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_FStep"].ToString());
- ConfigFile cf = new ConfigFile(cfm);
- m_TemplateFilePath = ConfigurationManager.AppSettings["TemplateFilePath"].ToString();
- //如果路径不存在,要求选择一个路径
- if (!Directory.Exists(m_TemplateFilePath))
- {
- //创建路径
- //Directory.CreateDirectory(m_TemplateFilePath);
- FolderBrowserDialog dialog = new FolderBrowserDialog();
- dialog.Description = "请选择文件路径";
- //dialog.RootFolder = Environment.SpecialFolder.Programs;
- if (dialog.ShowDialog() == DialogResult.OK)
- {
- m_TemplateFilePath = dialog.SelectedPath;
- config.AppSettings.Settings["TemplateFilePath"].Value = m_TemplateFilePath;
- config.Save(ConfigurationSaveMode.Modified);
- ConfigurationManager.RefreshSection("appSettings");//重新加载新的配置文件
- }
- }
- SaveFileDialog saveFileDialog = new SaveFileDialog();
- //设置默认打开路径(绝对路径)
- saveFileDialog.InitialDirectory = m_TemplateFilePath;
- saveFileDialog.Filter = "样品参数文件|*.cfg";
- if (saveFileDialog.ShowDialog() == DialogResult.OK)
- {
- cf.Save(saveFileDialog.FileName);
- }
- else
- {
- return;
- }
- //编辑Config文件
- EditConfig();
- }
- /// <summary>
- /// 编辑confing 文件信息
- /// </summary>
- public bool EditConfig()
- {
- try
- {
- //设置数据源信息
- //样品类型
- List<String> _sT = sT.ToList();
- if ((_sT.IndexOf(cbbWYP.Text) < 0)
- || (!_sT.Contains(cbbWYP.Text)))
- {
- _sT.Add(cbbWYP.Text);
- string wsT = string.Join(",", _sT.ToArray());
- config.AppSettings.Settings["Sample_Type"].Value = wsT;
- }
- //厂商
- List<String> _firms = firms.ToList();
- if( (_firms.IndexOf(cbbWCS.Text) < 0)
- || (!_firms.Contains(cbbWCS.Text)))
- {
- _firms.Add(cbbWCS.Text);
- string wFirms = string.Join(",", _firms.ToArray());
- config.AppSettings.Settings["Firm"].Value = wFirms;
- }
- //拍照电压
- List<String> _WPZD = WPZD.ToList();
- if((_WPZD.IndexOf(cbbWPZD.Text) < 0)
- || (!_WPZD.Contains(cbbWPZD.Text)))
- {
- _WPZD.Add(cbbWPZD.Text);
- string wWPZD = string.Join(",", _WPZD.ToArray());
- config.AppSettings.Settings["WPZD"].Value = wWPZD;
- }
- //拍照放大位数
- List<String> _WPZF = WPZF.ToList();
- if ((_WPZF.IndexOf(cbbWPZF.Text) < 0)
- || (!_WPZF.Contains(cbbWPZF.Text)))
- {
- _WPZF.Add(cbbWPZF.Text);
- string wWPZF = string.Join(",", _WPZF.ToArray());
- config.AppSettings.Settings["WPZF"].Value = wWPZF;
- }
- //定位切割电压
- List<String> _WQGD = WQGD.ToList();
- if ((_WQGD.IndexOf(cbbWQGD.Text) < 0)
- || (!_WQGD.Contains(cbbWQGD.Text)))
- {
- _WQGD.Add(cbbWQGD.Text);
- string wWQGD = string.Join(",", _WQGD.ToArray());
- config.AppSettings.Settings["WQGD"].Value = wWQGD;
- }
- //定位切割放大位数
- List<String> _WQGF = WQGF.ToList();
- if ((_WQGF.IndexOf(cbbWQGF.Text) < 0)
- || (!_WQGF.Contains(cbbWQGF.Text)))
- {
- _WQGF.Add(cbbWQGF.Text);
- string wWQGF = string.Join(",", _WQGF.ToArray());
- config.AppSettings.Settings["WQGF"].Value = wWQGF;
- }
- //拉直操作放大位数
- List<String> _WLZ = WLZ.ToList();
- if ((_WLZ.IndexOf(cbbWLZ.Text) < 0)
- || (!_WLZ.Contains(cbbWLZ.Text)))
- {
- _WLZ.Add(cbbWLZ.Text);
- string wWLZ = string.Join(",", _WLZ.ToArray());
- config.AppSettings.Settings["WLZ"].Value = wWLZ;
- }
- //FIB放大位数
- List<String> _WFIB = WFIB.ToList();
- if ((_WFIB.IndexOf(cbbWFIB.Text) < 0)
- ||(!_WFIB.Contains(cbbWFIB.Text)))
- {
- _WFIB.Add(cbbWFIB.Text);
- string wWFIB = string.Join(",", _WFIB.ToArray());
- config.AppSettings.Settings["WFIB"].Value = wWFIB;
- }
- MeasureParam cfm = new MeasureParam();
- cfm = FormHOZMainObject.m_MeasureFile.MParam;
- cfm.Is_Photograph = chkWIsP.Checked;
-
- cfm.FocusMode = Convert.ToInt32(config.AppSettings.Settings["Focus_Mode"].Value);
- cfm.PT = chkWPT.Checked;
- //自动对焦模式
- //cfm.FocusMode = chkManul.Checked;
- cfm.PTTemp = txtWPTF.Text;
- cfm.FIBTemp = txtWFIBF.Text;
- cfm.Stretch_Magnification = Convert.ToSingle(cbbWLZ.Text);
- cfm.Location_Magnification = Convert.ToSingle(cbbWQGF.Text);
- cfm.Location_Voltage = Convert.ToSingle(cbbWQGD.Text);
- cfm.Photograph_Magnification = Convert.ToSingle(cbbWPZF.Text);
- cfm.Photograph_Voltage = Convert.ToSingle(cbbWPZD.Text);
- cfm.FIB_Magnification = Convert.ToSingle(cbbWFIB.Text);
- //倾斜观测
- cfm.Title = chkWqxkc.Checked;
- //移动Z轴大小
- cfm.ZDistance = Convert.ToSingle(cbbYDZZDX.Text);
- if (cbbWXZ.SelectedIndex == 0)
- {
- cfm.Correction_Angle = 36;
- }
- else
- {
- cfm.Correction_Angle = 54;
- }
- cfm.SampleName = cbbWYP.Text;
- cfm.Firm = cbbWCS.Text;
- //设置配置文件默认值
- config.AppSettings.Settings["Is_Photograph"].Value = cfm.Is_Photograph.ToString();
- config.AppSettings.Settings["PT_Depostion"].Value = cfm.PT.ToString();
- config.AppSettings.Settings["PT_ELYFile"].Value = cfm.PTTemp;
- config.AppSettings.Settings["FIB_ELYFile"].Value = cfm.FIBTemp;
- config.AppSettings.Settings["Stretch_Magnification"].Value = cfm.Stretch_Magnification.ToString();
- config.AppSettings.Settings["Location_Magnification"].Value = cfm.Location_Magnification.ToString();
- config.AppSettings.Settings["Location_Voltage"].Value = cfm.Location_Voltage.ToString();
- config.AppSettings.Settings["Photograph_Magnification"].Value = cfm.Photograph_Magnification.ToString();
- config.AppSettings.Settings["Photograph_Voltage"].Value = cfm.Photograph_Voltage.ToString();
- config.AppSettings.Settings["Correction_Angle"].Value = cfm.Correction_Angle.ToString();
- config.AppSettings.Settings["SampleName"].Value = cfm.SampleName;
- config.AppSettings.Settings["Firms"].Value = cfm.Firm;
- config.AppSettings.Settings["FIB_Magnification"].Value = cfm.FIB_Magnification.ToString();
- config.AppSettings.Settings["Is_Title"].Value = cfm.Title.ToString();
- config.AppSettings.Settings["ZDistance"].Value = cfm.ZDistance.ToString();
- config.Save(ConfigurationSaveMode.Modified);
- ConfigurationManager.RefreshSection("appSettings");//重新加载新的配置文件
- return true;
- }
- catch (Exception ex)
- {
- LogManager.LogError(ex.Message);
- return false;
- }
- }
- /// <summary>
- /// 删除config文件节点中内容信息
- /// </summary>
- public bool DelConfigNodeContentInfo(string delControlName, string selName)
- {
- try
- {
- switch (delControlName)
- {
- case "WYP":
- //样品类型
- List<String> _sT = sT.ToList();
- _sT.Remove(selName);
- string wsT = string.Join(",", _sT.ToArray());
- config.AppSettings.Settings["Sample_Type"].Value = wsT;
- break;
- case "WCS":
- //厂商
- List<String> _firms = firms.ToList();
- _firms.Remove(selName);
- string wFirms = string.Join(",", _firms.ToArray());
- config.AppSettings.Settings["Firm"].Value = wFirms;
- break;
- case "WPZD":
- //拍照电压
- List<String> _WPZD = WPZD.ToList();
- _WPZD.Remove(selName);
- string wWPZD = string.Join(",", _WPZD.ToArray());
- config.AppSettings.Settings["WPZD"].Value = wWPZD;
- break;
- case "WPZF":
- //拍照放大位数
- List<String> _WPZF = WPZF.ToList();
- _WPZF.Remove(selName);
- string wWPZF = string.Join(",", _WPZF.ToArray());
- config.AppSettings.Settings["WPZF"].Value = wWPZF;
- break;
- case "WQGD"://定位切割电压
- List<String> _WQGD = WQGD.ToList();
- _WQGD.Remove(selName);
- string wWQGD = string.Join(",", _WQGD.ToArray());
- config.AppSettings.Settings["WQGD"].Value = wWQGD;
- break;
- case "WQGF": //定位切割放大位数
- List<String> _WQGF = WQGF.ToList();
- _WQGF.Remove(selName);
- string wWQGF = string.Join(",", _WQGF.ToArray());
- config.AppSettings.Settings["WQGF"].Value = wWQGF;
- break;
- case "WLZ":
- //拉直操作放大位数
- List<String> _WLZ = WLZ.ToList();
- _WLZ.Remove(selName);
- string wWLZ = string.Join(",", _WLZ.ToArray());
- config.AppSettings.Settings["WLZ"].Value = wWLZ;
- break;
- case "WFIB":
- //FIB放大倍数
- List<String> _WFIB = WFIB.ToList();
- _WFIB.Remove(selName);
- string wWFIB = string.Join(",", _WFIB.ToArray());
- config.AppSettings.Settings["WFIB"].Value = wWFIB;
- break;
- }
- config.Save(ConfigurationSaveMode.Modified);
- ConfigurationManager.RefreshSection("appSettings");//重新加载新的配置文件
- return true;
- }
- catch (Exception ex)
- {
- LogManager.LogError(ex.Message);
- return true;
- }
- }
- /// <summary>
- /// 绑定下拉菜单
- /// </summary>
- /// <param name="cb"></param>
- /// <param name="strGroup"></param>
- private void BindComboxData(ComboBox cb, string[] strGroup)
- {
- for (int i = 0; i < strGroup.Length; i++)
- {
- if (!strGroup[i].Equals(""))
- {
- cb.Items.Add(strGroup[i]);
- }
- }
- }
- /// <summary>
- /// 读取Config文件信息
- /// </summary>
- public void ReloadConfig()
- {
- cbbWYP.Items.Clear();
- cbbWCS.Items.Clear();
- cbbWPZD.Items.Clear();
- cbbWPZF.Items.Clear();
- cbbWQGD.Items.Clear();
- cbbWQGF.Items.Clear();
- cbbWLZ.Items.Clear();
- cbbWFIB.Items.Clear();
- cbbYDZZDX.Text = "0";
- m_TemplateFilePath = config.AppSettings.Settings["TemplateFilePath"].Value.ToString();
- string sample_Type = config.AppSettings.Settings["Sample_Type"].Value.ToString();
- string firm = config.AppSettings.Settings["Firm"].Value.ToString();
- string WPZDTemp = config.AppSettings.Settings["WPZD"].Value.ToString();
- string WPZFTemp = config.AppSettings.Settings["WPZF"].Value.ToString();
- string WQGDTemp = config.AppSettings.Settings["WQGD"].Value.ToString();
- string WQGFTemp = config.AppSettings.Settings["WQGF"].Value.ToString();
- string WLZTemp = config.AppSettings.Settings["WLZ"].Value.ToString();
- string WFIBTemp = config.AppSettings.Settings["WFIB"].Value.ToString();
- //string ZZDistance = config.AppSettings.Settings["ZDistance"].Value.ToString();
-
-
- //样品类型
- sT = sample_Type.Split(',');
- BindComboxData(cbbWYP, sT);
- //厂商
- firms = firm.Split(',');
- BindComboxData(cbbWCS, firms);
- //拍照电压
- WPZD = WPZDTemp.Split(',');
- BindComboxData(cbbWPZD, WPZD);
- //拍照放大位数
- WPZF = WPZFTemp.Split(',');
- BindComboxData(cbbWPZF, WPZF);
- //定位切割电压
- WQGD = WQGDTemp.Split(',');
- BindComboxData(cbbWQGD, WQGD);
- //定位切割放大位数
- WQGF = WQGFTemp.Split(',');
- BindComboxData(cbbWQGF, WQGF);
- //拉直操作放大位数
- WLZ = WLZTemp.Split(',');
- BindComboxData(cbbWLZ, WLZ);
- //FIB放大倍数
- WFIB = WFIBTemp.Split(',');
- BindComboxData(cbbWFIB, WFIB);
-
- //设置配置文件默认值
- chkWIsP.Checked=Convert.ToBoolean(config.AppSettings.Settings["Is_Photograph"].Value);
- chkWPT.Checked = Convert.ToBoolean(config.AppSettings.Settings["PT_Depostion"].Value);
- //倾斜观测
- chkWqxkc.Checked = Convert.ToBoolean(config.AppSettings.Settings["Is_Title"].Value);
- //移动Z轴大小
- cbbYDZZDX.Text = config.AppSettings.Settings["ZDistance"].Value;
- //自动对焦模式
- //chkManul.Checked = Convert.ToBoolean(config.AppSettings.Settings["Focus_Mode"].Value);
- txtWPTF.Text = config.AppSettings.Settings["PT_ELYFile"].Value;
- txtWFIBF.Text = config.AppSettings.Settings["FIB_ELYFile"].Value;
- cbbWLZ.Text = config.AppSettings.Settings["Stretch_Magnification"].Value;
- cbbWQGF.Text = config.AppSettings.Settings["Location_Magnification"].Value;
- cbbWQGD.Text = config.AppSettings.Settings["Location_Voltage"].Value;
- cbbWPZF.Text = config.AppSettings.Settings["Photograph_Magnification"].Value;
- cbbWPZD.Text = config.AppSettings.Settings["Photograph_Voltage"].Value;
- cbbWFIB.Text = config.AppSettings.Settings["FIB_Magnification"].Value;
- string Correction_Angle = config.AppSettings.Settings["Correction_Angle"].Value;
- //if (Convert.ToBoolean(config.AppSettings.Settings["Is_Title"].Value))
- //{
- // cbbYDZZDX.Visible = true;
- // label3.Visible = true;
- //}
- //else
- //{
- // cbbYDZZDX.Visible = false;
- // label3.Visible = false;
- //}
- if (Correction_Angle == "36")
- {
- cbbWXZ.SelectedIndex = 0;
- }
- else
- {
- cbbWXZ.SelectedIndex = 1;
- }
- cbbWYP.Text = config.AppSettings.Settings["SampleName"].Value;
- cbbWCS.Text = config.AppSettings.Settings["Firms"].Value;
- }
- /// <summary>
- /// 根据所选路径,读取模板文件
- /// </summary>
- public void ReadConfigInfo()
- {
- if (!ReadConfigPath.Equals(""))
- {
- ReloadConfig();
- ConfigFile cfm = new ConfigFile(FormHOZMainObject.m_MeasureFile.MParam);
- cfm.Read(ReadConfigPath);
- chkWIsP.Checked = cfm.m_Config.Is_Photograph;
- chkWPT.Checked = cfm.m_Config.PT;
- //自动对焦模式
- //cfm.FocusMode = chkManul.Checked;
- txtWPTF.Text = cfm.m_Config.PTTemp;
- txtWFIBF.Text = cfm.m_Config.FIBTemp;
- cbbWLZ.Text = cfm.m_Config.Stretch_Magnification.ToString();
- cbbWQGF.Text = cfm.m_Config.Location_Magnification.ToString();
- cbbWQGD.Text = cfm.m_Config.Location_Voltage.ToString();
- cbbWPZF.Text = cfm.m_Config.Photograph_Magnification.ToString();
- cbbWPZD.Text = cfm.m_Config.Photograph_Voltage.ToString();
- cbbWFIB.Text = cfm.m_Config.FIB_Magnification.ToString();
- string Correction_Angle = cfm.m_Config.Correction_Angle.ToString();
- if (Correction_Angle == "36")
- {
- cbbWXZ.SelectedIndex = 0;
- }
- else
- {
- cbbWXZ.SelectedIndex = 1;
- }
- cbbWYP.Text = cfm.m_Config.SampleName;
- cbbWCS.Text = cfm.m_Config.Firm;
- }
- }
- /// <summary>
- /// 修改配置文件默认值
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void btnSaveDefalutPara_Click(object sender, EventArgs e)
- {
- if (Convert.ToInt32(cbbWFIB.Text) < 200)
- {
- MessageBox.Show("FIB最小放大倍数为200倍");
- }
- else
- {
- if (EditConfig())
- {
- MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- //增加一个测量文件的参数修改
- SaveMeasureFile();
- }
- }
- #endregion
- #region 删除下拉菜单选择项
- private void DelComboBoxItem_Click(object sender, EventArgs e)
- {
- if (MessageBox.Show("是否删除所选项信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
- {
- PictureBox pbDel = (PictureBox)sender;
- string ctrlName = pbDel.Name.Substring(5, pbDel.Name.Length - 5);
- if (DelComboBoxItem(ctrlName))
- {
- //重新加载
- ReloadConfig();
- }
- }
- }
- /// <summary>
- /// 删除下拉菜单选择项
- /// </summary>
- public bool DelComboBoxItem(string controlName)
- {
- string delName = controlName;
- foreach (Control item in this.Controls)
- {
- if (item is ComboBox)
- {
- if (item.Name.Contains(delName))
- {
- ComboBox cb = (ComboBox)item;
- return DelConfigNodeContentInfo(delName, cb.Text);
- }
- }
- }
- return false;
- }
- #endregion
- #region 根据是否仅拍照,进行逻辑判断
- private void chkWIsP_CheckedChanged(object sender, EventArgs e)
- {
- if (chkWIsP.Checked)
- {
- chkWqxkc.Checked = false;
- chkWqxkc.Visible = false;
- chkWPT.Checked = false;
- chkWPT.Visible = false;
- label61.Visible = false;
- label59.Visible = false;
- txtWFIBF.Visible = false;
- txtWPTF.Visible = false;
- btnPTTemplateFile.Visible = false;
- btnFIBTemplateFile.Visible = false;
- label58.Visible = false;
- cbbWXZ.Visible = false;
- label2.Visible = false;
- cbbWFIB.Visible = false;
- pbDelWFIB.Visible = false;
- FormHOZMainObject.m_MeasureType = (int)MeasureMsgManage.measureType.Photo;
- }
- else
- {
- chkWqxkc.Visible = true;
- chkWPT.Visible = true;
- label61.Visible = true;
- label59.Visible = true;
- txtWFIBF.Visible = true;
- txtWPTF.Visible = true;
- btnPTTemplateFile.Visible = true;
- btnFIBTemplateFile.Visible = true;
- label58.Visible = true;
- cbbWXZ.Visible = true;
- //label2.Visible = true;
- //cbbWFIB.Visible = true;
- //pbDelWFIB.Visible = true;
- if (!chkWPT.Checked)
- {
- FormHOZMainObject.m_MeasureType = (int)MeasureMsgManage.measureType.FIB;
- }
- }
- CreateCutHoleList();
- }
- #endregion
- #region 从配置文件中读取测量参数
- public MeasureParam GetMeasureParam()
- {
- MeasureParam cfm = new MeasureParam();
- //设置配置文件默认值
- bool bResult = false;
- bool.TryParse(config.AppSettings.Settings["Is_Photograph"].Value, out bResult);
- cfm.Is_Photograph = bResult;
- bool.TryParse(config.AppSettings.Settings["PT_Depostion"].Value, out bResult);
- cfm.PT = bResult;
- cfm.PTTemp = config.AppSettings.Settings["PT_ELYFile"].Value;
- cfm.FIBTemp = config.AppSettings.Settings["FIB_ELYFile"].Value;
- float fResult = (float)0.0;
- float.TryParse(config.AppSettings.Settings["Stretch_Magnification"].Value, out fResult);
- cfm.Stretch_Magnification = fResult;
- float.TryParse(config.AppSettings.Settings["Location_Magnification"].Value, out fResult);
- cfm.Location_Magnification = fResult;
- float.TryParse(config.AppSettings.Settings["Location_Voltage"].Value, out fResult);
- cfm.Location_Voltage = fResult;
- float.TryParse(config.AppSettings.Settings["Photograph_Magnification"].Value, out fResult);
- cfm.Photograph_Magnification = fResult;
- float.TryParse(config.AppSettings.Settings["Photograph_Voltage"].Value, out fResult);
- cfm.Photograph_Voltage = fResult;
- float.TryParse(config.AppSettings.Settings["Correction_Angle"].Value, out fResult);
- cfm.Correction_Angle = fResult;
- cfm.SampleName = config.AppSettings.Settings["SampleName"].Value;
- cfm.Firm = config.AppSettings.Settings["Firms"].Value;
- cfm.AutoFocus.UP = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_UP"].ToString());
- cfm.AutoFocus.Down = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_Down"].ToString());
- cfm.AutoFocus.Step = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_Step"].ToString());
- cfm.AutoFocus.Range = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_Range"].ToString());
- cfm.AutoFocus.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_FStep"].ToString());
- cfm.FIBFocus.UP = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_UP"].ToString());
- cfm.FIBFocus.Down = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_Down"].ToString());
- cfm.FIBFocus.Step = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_Step"].ToString());
- cfm.FIBFocus.Range = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_Range"].ToString());
- cfm.FIBFocus.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_FStep"].ToString());
- cfm.AutoStigX.UP = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_UP"].ToString());
- cfm.AutoStigX.Down = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_Down"].ToString());
- cfm.AutoStigX.Step = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_Step"].ToString());
- cfm.AutoStigX.Range = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_Range"].ToString());
- cfm.AutoStigX.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_FStep"].ToString());
- cfm.AutoStigY.UP = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_UP"].ToString());
- cfm.AutoStigY.Down = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_Down"].ToString());
- cfm.AutoStigY.Step = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_Step"].ToString());
- cfm.AutoStigY.Range = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_Range"].ToString());
- cfm.AutoStigY.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_FStep"].ToString());
- bool.TryParse(config.AppSettings.Settings["Is_Title"].Value, out bResult);
- cfm.Title = bResult;
- float.TryParse(config.AppSettings.Settings["ZDistance"].Value, out fResult);
- cfm.ZDistance = fResult;
- return cfm;
- }
- #endregion
- #region 创建切孔列表
- private void CreateCutHoleList()
- {
- List<CutHole> ListCutHole = FormHOZMainObject.m_MeasureFile.ListCutHole;
- FormHOZMainObject.CreateCutHoleList(ListCutHole);
- }
- #endregion
- #region 设置流程类型
- private void chkWPT_CheckedChanged(object sender, EventArgs e)
- {
- if (chkWPT.Checked)
- {
- FormHOZMainObject.m_MeasureType = (int)MeasureMsgManage.measureType.PT;
- }
- else
- {
- if (!chkWIsP.Checked)
- {
- FormHOZMainObject.m_MeasureType = (int)MeasureMsgManage.measureType.FIB;
- }
- }
- CreateCutHoleList();
- }
- #endregion
- #region 关闭按钮 鼠标操作事件
- private void pbClose_MouseEnter(object sender, EventArgs e)
- {
- pbClose.BackgroundImage = global::HOZProject.Properties.Resources.Exit;
- }
- private void pbClose_MouseLeave(object sender, EventArgs e)
- {
- pbClose.BackgroundImage = global::HOZProject.Properties.Resources.Exit;
- }
- #endregion
- #region 输入限制只能是数字
- private void ComboBox_KeyPress(string text, object sender, KeyPressEventArgs e)
- {
- //允许输入数字、小数点、删除键和负号
- if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != (char)('.') && e.KeyChar != (char)('-'))
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- if (e.KeyChar == (char)('-'))
- {
- if (text != "")
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- }
- //小数点只能输入一次
- if (e.KeyChar == (char)('.') && ((ComboBox)sender).Text.IndexOf('.') != -1)
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- //第一位不能为小数点
- if (e.KeyChar == (char)('.') && ((ComboBox)sender).Text == "")
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- //第一位是0,第二位必须为小数点
- if (e.KeyChar != (char)('.') && ((ComboBox)sender).Text == "0")
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- //第一位是负号,第二位不能为小数点
- if (((ComboBox)sender).Text == "-" && e.KeyChar == (char)('.'))
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- }
- private void cbbWPZD_KeyPress(object sender, KeyPressEventArgs e)
- {
- ComboBox_KeyPress(cbbWPZD.Text, sender, e);
- }
- private void cbbWPZF_KeyPress(object sender, KeyPressEventArgs e)
- {
- ComboBox_KeyPress(cbbWPZF.Text, sender, e);
- }
- private void cbbWQGD_KeyPress(object sender, KeyPressEventArgs e)
- {
- ComboBox_KeyPress(cbbWQGD.Text, sender, e);
- }
- private void cbbWQGF_KeyPress(object sender, KeyPressEventArgs e)
- {
- ComboBox_KeyPress(cbbWQGF.Text, sender, e);
- }
- private void cbbWLZ_KeyPress(object sender, KeyPressEventArgs e)
- {
- ComboBox_KeyPress(cbbWLZ.Text, sender, e);
- }
- private void cbbWFIB_KeyPress(object sender, KeyPressEventArgs e)
- {
- ComboBox_KeyPress(cbbWFIB.Text, sender, e);
- }
- #endregion
- #region Z轴的保护范围
- private void chkWqxkc_CheckedChanged(object sender, EventArgs e)
- {
- //if (chkWqxkc.Checked)
- //{
- // label3.Visible = true;
- // cbbYDZZDX.Visible = true;
- //}
- //else
- //{
- // label3.Visible = false;
- // cbbYDZZDX.Visible = false;
- //}
- }
- private void cbbYDZZDX_TextChanged(object sender, EventArgs e)
- {
- if (cbbYDZZDX.Text!="")
- {
- if (Convert.ToSingle(cbbYDZZDX.Text)>40)
- {
- MessageBox.Show("数值最大为40");
- cbbYDZZDX.Text = "40";
- }
- }
- else
- {
- cbbYDZZDX.Text = "0";
- }
-
- }
- private void cbbYDZZDX_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar != 46)
- {
- e.Handled = true;
- }
- }
- #endregion
-
- #region 参数确认
- private void SaveMeasureFile()
- {
- //界面上的参数
- FormHOZMainObject.m_MeasureFile.MParam = GetMeasureParamInfo();
- //配置文件中的参数
- FormHOZMainObject.m_MeasureFile.MParam.ZDistance = Convert.ToSingle(ConfigurationManager.AppSettings["ZDistance"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoFocus.UP = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_UP"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoFocus.Down = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_Down"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoFocus.Step = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_Step"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoFocus.Range = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_Range"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoFocus.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["Focus_FStep"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.FIBFocus.UP = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_UP"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.FIBFocus.Down = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_Down"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.FIBFocus.Step = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_Step"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.FIBFocus.Range = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_Range"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.FIBFocus.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["FIB_FStep"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoStigX.UP = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_UP"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoStigX.Down = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_Down"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoStigX.Step = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_Step"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoStigX.Range = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_Range"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoStigX.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["StigX_FStep"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoStigY.UP = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_UP"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoStigY.Down = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_Down"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoStigY.Step = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_Step"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoStigY.Range = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_Range"].ToString());
- FormHOZMainObject.m_MeasureFile.MParam.AutoStigY.fStep = Convert.ToSingle(ConfigurationManager.AppSettings["StigY_FStep"].ToString());
- FormHOZMainObject.m_MeasureFile.IsModified = true;
- if (Directory.Exists(FormHOZMainObject.m_MeasureFile.FilePath))//如果已经存在硬盘上要重新保存文件
- {
- FormHOZMainObject.m_MeasureFile.Save();
- }
- }
- private void button1_Click(object sender, EventArgs e)
- {
- //保存测量文件的参数
- SaveMeasureFile();
- }
- #endregion
- }
- }
|