1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.IO;
- using System.Reflection;
- using System.Windows.Forms;
- using HardwareConfig;
- namespace BaseLibRWFile
- {
- public partial class Form_SysSet : Form
- {
- IBaseHardware newIBaseHardware;
- public Form_SysSet()
- {
- InitializeComponent();
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- ControlLayout();
- ChangeLanguage();
- GlobalPara.ChangeLanguageEvent += ChangeLanguage;
- newIBaseHardware = new LeadShineMCardHardConfig()
- {
- HardwareType = HardwareTypeEnum.运动控制卡,
- HardwareName = HardwareNameEnum.雷赛运动控制卡
- };
- PgHardConfig.SelectedObject = newIBaseHardware;
- pgSysSetting.SelectedObject = SysSettingPara.Instance;
- LoadConfig();
- }
- private void ControlLayout()
- {
- Rectangle rect = Screen.GetWorkingArea(this);
- this.Size = new Size(Convert.ToInt32(rect.Width * 0.7), Convert.ToInt32(rect.Height * 0.7) + 20);
- tabControl1.Location = new Point(0, 0);
- tabControl1.Size = new Size(this.Width - 20, this.Height - 45);
- btnAdd.Size = new Size(120, 40);
- PgHardConfig.Location = new Point(10, 10);
- PgHardConfig.Size = new Size((tabControl1.Width - btnAdd.Width - 45) / 2, tabControl1.Height - tabControl1.ItemSize.Height - 25);
- btnAdd.Location = new Point(PgHardConfig.Right + 10, PgHardConfig.Height / 2 - btnAdd.Height - 10);
- btnHardSave.Location = new Point(btnAdd.Left, btnAdd.Bottom + 40);
- btnHardSave.Size = btnAdd.Size;
- treeView1.Location = new Point(btnAdd.Right + 10, PgHardConfig.Top);
- treeView1.Size = PgHardConfig.Size;
- pgSysSetting.Location = PgHardConfig.Location;
- pgSysSetting.Size = PgHardConfig.Size;
- btnSysSave.Location = btnHardSave.Location;
- btnSysSave.Size = btnHardSave.Size;
-
- }
- private void ChangeLanguage()
- {
- switch (GlobalPara.CurrentLanguage)
- {
- case Language.Chinese:
- tpHardConfig.Text = "硬件配置";
- tpSysSetting.Text = "系统设置";
- break;
- case Language.English:
- tpHardConfig.Text = "HardConfig";
- tpSysSetting.Text = "SystemSetting";
- break;
- //case Language.Vietnamese:
- // tabPage1.Text = "Cấu hình phần cứng";
- // tabPage2.Text = "Cài đặt hệ thống";
- // break;
- //case Language.Hindi:
- // tabPage1.Text = "हार्डवेयर की समाकृति";
- // tabPage2.Text = "प्रणाली व्यवस्था";
- // break;
- }
- }
- private void LoadConfig()
- {
- try
- {
- string strPath = HardConfigManager.Ins.HardConfigFilePath;
- if (File.Exists(strPath))
- {
- treeView1.Nodes.Clear();
- HardConfigManager.Ins = HardConfigManager.LoadHardConfigFile(strPath);
- ShowHardList();
- }
- strPath = SysSettingPara.Instance.StrSysSettingFilePath;
- if (File.Exists(strPath))
- {
- SysSettingPara.Instance = ClsXml.XmlConfigReader(strPath, typeof(SysSettingPara)) as SysSettingPara;
- pgSysSetting.SelectedObject = SysSettingPara.Instance;
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show($"加载硬件配置文件失败\r\n{ex.Message}");
- }
- }
- private void ShowHardList()
- {
- foreach (var p in HardConfigManager.Ins.HardwareList)
- {
- if (!JudgeChildNodesText(p.HardwareType.ToString(), treeView1.Nodes))
- {
- treeView1.Nodes.Add(p.HardwareType.ToString(), p.HardwareType.ToString());
- }
- TreeNode node;
- switch (p.HardwareName)
- {
- case HardwareNameEnum.雷赛运动控制卡:
- LeadShineMCardHardConfig leadShineMCard = (LeadShineMCardHardConfig)p;
- node = treeView1.Nodes[HardwareTypeEnum.运动控制卡.ToString()];
- string strKey = $"雷赛-{leadShineMCard.型号}[{leadShineMCard.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.APE运动控制卡:
- APEMCardHardConfig apeMCard = (APEMCardHardConfig)p;
- node = treeView1.Nodes[HardwareTypeEnum.运动控制卡.ToString()];
- strKey = $"APE-{apeMCard.型号}[{apeMCard.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.ACS运动控制卡:
- ACSMCardHardConfig acsmc = (ACSMCardHardConfig)p;
- node = treeView1.Nodes[HardwareTypeEnum.运动控制卡.ToString()];
- strKey = $"ACS-{acsmc.型号}[{acsmc.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.MC轴组:
- MCardAxisGroupHardConfig axisGroup = (MCardAxisGroupHardConfig)p;
- node = treeView1.Nodes[HardwareTypeEnum.MC轴组.ToString()];
- strKey = $"{axisGroup.轴组名称}[{axisGroup.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.PLC轴组:
- PLCAxisGroupHardConfig plcaxisgroup = (PLCAxisGroupHardConfig)p;
- node = treeView1.Nodes[HardwareTypeEnum.PLC轴组.ToString()];
- strKey = $"{plcaxisgroup.轴组名称}[{plcaxisgroup.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.雷赛IO卡:
- LeadShinewIOCardHardConfig leadShineIOCard = (LeadShinewIOCardHardConfig)p;
- node = treeView1.Nodes[HardwareTypeEnum.IO卡.ToString()];
- strKey = $"雷赛-{leadShineIOCard.型号}[{leadShineIOCard.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.APEIO卡:
- APEIOCardHardConfig apeIOCard = (APEIOCardHardConfig)p;
- node = treeView1.Nodes[HardwareTypeEnum.IO卡.ToString()];
- strKey = $"APE-{apeIOCard.型号}[{apeIOCard.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.欧姆龙串口PLC:
- FinsSeriePortPLCHardConfig finsSeriesPortPLC = (FinsSeriePortPLCHardConfig)p;
- node = treeView1.Nodes[HardwareTypeEnum.PLC.ToString()];
- strKey = $"欧姆龙-{finsSeriesPortPLC.型号}[{finsSeriesPortPLC.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.欧姆龙网口PLC:
- FinsTCPPLCHC finsTCPPLC = (FinsTCPPLCHC)p;
- node = treeView1.Nodes[HardwareTypeEnum.PLC.ToString()];
- strKey = $"欧姆龙-{finsTCPPLC.型号}[{finsTCPPLC.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.三菱QPLC:
- MXPLCHC mxplc = (MXPLCHC)p;
- node = treeView1.Nodes[HardwareTypeEnum.PLC.ToString()];
- strKey = $"三菱-{mxplc.型号}[{mxplc.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.三菱机械手:
- MitRobotHC mitr = (MitRobotHC)p;
- node = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()];
- strKey = $"三菱-{mitr.型号}[{mitr.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.东芝机械手:
- ToshibaRobotHC tosr = (ToshibaRobotHC)p;
- node = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()];
- strKey = $"东芝-{tosr.型号}[{tosr.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.爱普森机械手:
- EpsonRobotHC epsr = (EpsonRobotHC)p;
- node = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()];
- strKey = $"爱普森-{epsr.型号}[{epsr.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.APE机械手:
- APERobotHC aper = (APERobotHC)p;
- node = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()];
- strKey = $"APE-{aper.型号}[{aper.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.点胶平台:
- GluePlatHardConfig glue = (GluePlatHardConfig)p;
- node = treeView1.Nodes[HardwareTypeEnum.点胶平台.ToString()];
- strKey = $"{glue.平台名称}[{glue.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.点胶阀:
- ValveHC valve = (ValveHC)p;
- node = treeView1.Nodes[HardwareTypeEnum.点胶阀.ToString()];
- strKey = $"{valve.胶阀名称}[{valve.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.串口:
- SeriesAtti series = (SeriesAtti)p;
- node = treeView1.Nodes[HardwareTypeEnum.串口.ToString()];
- strKey = $"{series.端口号}-{series.串口名称}[{series.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.数据库:
- DatabaseHardConfig db = (DatabaseHardConfig)p;
- node = treeView1.Nodes[HardwareTypeEnum.数据库.ToString()];
- strKey = $"数据库-{db.HardwareType}[{db.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- case HardwareNameEnum.网口:
- SocketAtti socket = (SocketAtti)p;
- node = treeView1.Nodes[HardwareTypeEnum.网口.ToString()];
- strKey = $"{socket.网口名称}[{socket.编号}]";
- p.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- }
- break;
- default:
- break;
- }
- treeView1.ExpandAll();
- }
- }
- private void PgHardConfig_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
- {
- switch (e.ChangedItem.Label)
- {
- case "HardwareType":
- switch (e.ChangedItem.Value.ToString())
- {
- case "运动控制卡":
- newIBaseHardware = new LeadShineMCardHardConfig() { HardwareType = HardwareTypeEnum.运动控制卡, HardwareName = HardwareNameEnum.雷赛运动控制卡 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "MC轴组":
- newIBaseHardware = new MCardAxisGroupHardConfig() { HardwareType = HardwareTypeEnum.MC轴组, HardwareName = HardwareNameEnum.MC轴组 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "PLC":
- newIBaseHardware = new FinsSeriePortPLCHardConfig() { HardwareType = HardwareTypeEnum.PLC, HardwareName = HardwareNameEnum.欧姆龙串口PLC };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "PLC轴组":
- newIBaseHardware = new PLCAxisGroupHardConfig() { HardwareType = HardwareTypeEnum.PLC轴组, HardwareName = HardwareNameEnum.PLC轴组 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "IO卡":
- newIBaseHardware = new LeadShinewIOCardHardConfig() { HardwareType = HardwareTypeEnum.IO卡, HardwareName = HardwareNameEnum.雷赛IO卡 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "机械手":
- newIBaseHardware = new MitRobotHC() { HardwareType = HardwareTypeEnum.机械手, HardwareName = HardwareNameEnum.三菱机械手 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "点胶平台":
- newIBaseHardware = new GluePlatHardConfig() { HardwareType = HardwareTypeEnum.点胶平台, HardwareName = HardwareNameEnum.点胶平台 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "点胶阀":
- newIBaseHardware = new ValveHC() { HardwareType = HardwareTypeEnum.点胶阀, HardwareName = HardwareNameEnum.点胶阀 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "串口":
- newIBaseHardware = new SeriesAtti() { HardwareType = HardwareTypeEnum.串口, HardwareName = HardwareNameEnum.串口 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "数据库":
- newIBaseHardware = new DatabaseHardConfig() { HardwareType = HardwareTypeEnum.数据库, HardwareName = HardwareNameEnum.数据库 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "网口":
- newIBaseHardware = new SocketAtti() { HardwareType = HardwareTypeEnum.网口, HardwareName = HardwareNameEnum.网口 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- default:
- break;
- }
- btnAdd.Enabled = true;
- break;
- case "品牌":
- switch (newIBaseHardware.HardwareType.ToString())
- {
- case "运动控制卡":
- switch (e.ChangedItem.Value.ToString())
- {
- case "LeadShine":
- newIBaseHardware = new LeadShineMCardHardConfig() { HardwareType = HardwareTypeEnum.运动控制卡, HardwareName = HardwareNameEnum.雷赛运动控制卡 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "APE":
- newIBaseHardware = new APEMCardHardConfig() { HardwareType = HardwareTypeEnum.运动控制卡, HardwareName = HardwareNameEnum.APE运动控制卡 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "ACS":
- newIBaseHardware = new ACSMCardHardConfig() { HardwareType = HardwareTypeEnum.运动控制卡, HardwareName = HardwareNameEnum.ACS运动控制卡 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- }
- break;
- case "IO卡":
- switch (e.ChangedItem.Value.ToString())
- {
- case "LeadShine":
- newIBaseHardware = new LeadShinewIOCardHardConfig() { HardwareType = HardwareTypeEnum.IO卡, HardwareName = HardwareNameEnum.雷赛IO卡 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "APE":
- newIBaseHardware = new APEIOCardHardConfig() { HardwareType = HardwareTypeEnum.IO卡, HardwareName = HardwareNameEnum.APEIO卡 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- }
- break;
- case "PLC":
- switch (e.ChangedItem.Value.ToString())
- {
- case "欧姆龙串口":
- newIBaseHardware = new FinsSeriePortPLCHardConfig() { HardwareType = HardwareTypeEnum.PLC, HardwareName = HardwareNameEnum.欧姆龙串口PLC };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "欧姆龙网口":
- newIBaseHardware = new FinsTCPPLCHC() { HardwareType = HardwareTypeEnum.PLC, HardwareName = HardwareNameEnum.欧姆龙网口PLC };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "西门子":
- break;
- case "三菱":
- newIBaseHardware = new MXPLCHC() { HardwareType = HardwareTypeEnum.PLC, HardwareName = HardwareNameEnum.三菱QPLC };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- }
- break;
- case "机械手":
- switch (e.ChangedItem.Value.ToString())
- {
- case "三菱":
- newIBaseHardware = new MitRobotHC() { HardwareType = HardwareTypeEnum.机械手, HardwareName = HardwareNameEnum.三菱机械手 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "爱普森":
- newIBaseHardware = new EpsonRobotHC() { HardwareType = HardwareTypeEnum.机械手, HardwareName = HardwareNameEnum.爱普森机械手 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "APE":
- newIBaseHardware = new APERobotHC() { HardwareType = HardwareTypeEnum.机械手, HardwareName = HardwareNameEnum.APE机械手 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- case "东芝":
- newIBaseHardware = new ToshibaRobotHC() { HardwareType = HardwareTypeEnum.机械手, HardwareName = HardwareNameEnum.东芝机械手 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- break;
- default:
- break;
- }
- break;
- default:
- break;
- }
- break;
- }
- }
- private void BtnAdd_Click(object sender, EventArgs e)
- {
- try
- {
- newIBaseHardware = (BaseHardware)PgHardConfig.SelectedObject;
- if (!JudgeChildNodesText(newIBaseHardware.HardwareType.ToString(), treeView1.Nodes))
- {
- treeView1.Nodes.Add(newIBaseHardware.HardwareType.ToString(), newIBaseHardware.HardwareType.ToString());
- }
- AddCommand(newIBaseHardware);
- treeView1.ExpandAll();
- }
- catch (Exception ex)
- {
- MessageBox.Show($"添加P{newIBaseHardware.HardwareType}失败\r\n{ex.Message}");
- }
- }
- private void AddCommand(IBaseHardware ibaseHard)
- {
- TreeNode node;
- switch (ibaseHard.HardwareName)
- {
- case HardwareNameEnum.雷赛运动控制卡:
- LeadShineMCardHardConfig motionCard = (LeadShineMCardHardConfig)ibaseHard;
- LeadShineMCardHardConfig newLeadShine = new LeadShineMCardHardConfig
- {
- Enable = motionCard.Enable,
- HardwareName = motionCard.HardwareName,
- 型号 = motionCard.型号,
- 卡号 = motionCard.卡号,
- HardwareType = HardwareTypeEnum.运动控制卡,
- 编号 = treeView1.Nodes[HardwareTypeEnum.运动控制卡.ToString()].Nodes.Count,
- 扩展IO卡个数 = motionCard.扩展IO卡个数,
- 轴数 = motionCard.轴数,
- 配置文件名 = motionCard.配置文件名
- };
- node = treeView1.Nodes[HardwareTypeEnum.运动控制卡.ToString()];
- string strKey = $"雷赛-{newLeadShine.型号}[{newLeadShine.编号}]";
- newLeadShine.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(newLeadShine);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.APE运动控制卡:
- APEMCardHardConfig apemc = (APEMCardHardConfig)ibaseHard;
- APEMCardHardConfig newApeMCard = new APEMCardHardConfig
- {
- Enable = apemc.Enable,
- HardwareName = apemc.HardwareName,
- 型号 = apemc.型号,
- 卡号 = apemc.卡号,
- HardwareType = HardwareTypeEnum.运动控制卡,
- 编号 = treeView1.Nodes[HardwareTypeEnum.运动控制卡.ToString()].Nodes.Count,
- 轴数 = apemc.轴数
- };
- node = treeView1.Nodes[HardwareTypeEnum.运动控制卡.ToString()];
- strKey = $"APE-{newApeMCard.型号}[{newApeMCard.编号}]";
- newApeMCard.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(newApeMCard);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.ACS运动控制卡:
- ACSMCardHardConfig acsmc = (ACSMCardHardConfig)ibaseHard;
- ACSMCardHardConfig acsmc1 = new ACSMCardHardConfig();
- acsmc1.Enable = acsmc.Enable;
- acsmc1.HardwareName = acsmc.HardwareName;
- acsmc1.型号 = acsmc.型号;
- acsmc1.卡号 = acsmc.卡号;
- acsmc1.HardwareType = HardwareTypeEnum.运动控制卡;
- acsmc1.编号 = treeView1.Nodes[HardwareTypeEnum.运动控制卡.ToString()].Nodes.Count;
- acsmc1.轴数 = acsmc.轴数;
- node = treeView1.Nodes[HardwareTypeEnum.运动控制卡.ToString()];
- strKey = $"ACS-{acsmc1.型号}[{acsmc1.编号}]";
- acsmc1.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(acsmc1);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.MC轴组:
- if (!treeView1.Nodes.ContainsKey("运动控制卡"))
- {
- MessageBox.Show($"请先添加运动控制卡");
- return;
- }
- MCardAxisGroupHardConfig axisGroup = (MCardAxisGroupHardConfig)ibaseHard;
- MCardAxisGroupHardConfig newAxisGroup = new MCardAxisGroupHardConfig();
- for (int i = 0; i < treeView1.Nodes[HardwareTypeEnum.MC轴组.ToString()].Nodes.Count; i++)
- {
- if (treeView1.Nodes[HardwareTypeEnum.MC轴组.ToString()].Nodes.ContainsKey($"{axisGroup.轴组名称}[{i}]"))
- {
- MessageBox.Show($"轴组名称重复");
- return;
- }
- }
- newAxisGroup.Enable = axisGroup.Enable;
- newAxisGroup.HardwareName = axisGroup.HardwareName;
- newAxisGroup.HardwareType = HardwareTypeEnum.MC轴组;
- newAxisGroup.轴数 = axisGroup.轴数;
- newAxisGroup.编号 = treeView1.Nodes[HardwareTypeEnum.MC轴组.ToString()].Nodes.Count;
- newAxisGroup.轴组名称 = axisGroup.轴组名称;
- newAxisGroup.轴卡编号 = axisGroup.轴卡编号;
- node = treeView1.Nodes[HardwareTypeEnum.MC轴组.ToString()];
- strKey = $"{newAxisGroup.轴组名称}[{newAxisGroup.编号}]";
- newAxisGroup.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(newAxisGroup);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.PLC轴组:
- if (!treeView1.Nodes.ContainsKey("PLC"))
- {
- MessageBox.Show($"请先添加PLC");
- return;
- }
- PLCAxisGroupHardConfig plcaxisgroup = (PLCAxisGroupHardConfig)ibaseHard;
- PLCAxisGroupHardConfig newPLCAxisgroup = new PLCAxisGroupHardConfig();
- for (int i = 0; i < treeView1.Nodes[HardwareTypeEnum.PLC轴组.ToString()].Nodes.Count; i++)
- {
- if (treeView1.Nodes.ContainsKey($"{plcaxisgroup.轴组名称}[{i}]"))
- {
- MessageBox.Show($"PLC轴组名称重复");
- return;
- }
- }
- newPLCAxisgroup.Enable = plcaxisgroup.Enable;
- newPLCAxisgroup.HardwareName = plcaxisgroup.HardwareName;
- newPLCAxisgroup.HardwareType = HardwareTypeEnum.PLC轴组;
- newPLCAxisgroup.轴数 = plcaxisgroup.轴数;
- newPLCAxisgroup.PLC编号 = plcaxisgroup.PLC编号;
- newPLCAxisgroup.编号 = treeView1.Nodes[HardwareTypeEnum.PLC轴组.ToString()].Nodes.Count;
- newPLCAxisgroup.轴组名称 = plcaxisgroup.轴组名称;
- node = treeView1.Nodes[HardwareTypeEnum.PLC轴组.ToString()];
- strKey = $"{newPLCAxisgroup.轴组名称}[{newPLCAxisgroup.编号}]";
- newPLCAxisgroup.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(newPLCAxisgroup);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.雷赛IO卡:
- LeadShinewIOCardHardConfig leadShineCard = (LeadShinewIOCardHardConfig)ibaseHard;
- LeadShinewIOCardHardConfig newLeadShinewIOCard = new LeadShinewIOCardHardConfig();
- newLeadShinewIOCard.Enable = leadShineCard.Enable;
- newLeadShinewIOCard.HardwareName = leadShineCard.HardwareName;
- newLeadShinewIOCard.型号 = leadShineCard.型号;
- newLeadShinewIOCard.卡号 = leadShineCard.卡号;
- newLeadShinewIOCard.HardwareType = HardwareTypeEnum.IO卡;
- newLeadShinewIOCard.编号 = treeView1.Nodes[HardwareTypeEnum.IO卡.ToString()].Nodes.Count;
- node = treeView1.Nodes[HardwareTypeEnum.IO卡.ToString()];
- strKey = $"雷赛-{newLeadShinewIOCard.型号}[{newLeadShinewIOCard.编号}]";
- newLeadShinewIOCard.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(newLeadShinewIOCard);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.APEIO卡:
- APEIOCardHardConfig apeiocard = (APEIOCardHardConfig)ibaseHard;
- APEIOCardHardConfig apeiocard1 = new APEIOCardHardConfig
- {
- Enable = apeiocard.Enable,
- HardwareName = apeiocard.HardwareName,
- 型号 = apeiocard.型号,
- 卡号 = apeiocard.卡号,
- HardwareType = HardwareTypeEnum.IO卡,
- 编号 = treeView1.Nodes[HardwareTypeEnum.IO卡.ToString()].Nodes.Count
- };
- node = treeView1.Nodes[HardwareTypeEnum.IO卡.ToString()];
- strKey = $"APE-{apeiocard1.型号}[{apeiocard1.编号}]";
- apeiocard1.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(apeiocard1);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.欧姆龙串口PLC:
- FinsSeriePortPLCHardConfig finsSeries = (FinsSeriePortPLCHardConfig)ibaseHard;
- FinsSeriePortPLCHardConfig finsS = new FinsSeriePortPLCHardConfig();
- finsS.Enable = finsSeries.Enable;
- finsS.HardwareType = HardwareTypeEnum.PLC;
- finsS.HardwareName = finsSeries.HardwareName;
- finsS.型号 = finsSeries.型号;
- finsS.编号 = treeView1.Nodes[HardwareTypeEnum.PLC.ToString()].Nodes.Count;
- finsS.端口号 = finsSeries.端口号;
- finsS.波特率 = finsSeries.波特率;
- finsS.数据位 = finsSeries.数据位;
- finsS.校验位 = finsSeries.校验位;
- finsS.停止位 = finsSeries.停止位;
- node = treeView1.Nodes[HardwareTypeEnum.PLC.ToString()];
- strKey = $"欧姆龙-{finsS.型号}[{finsS.编号}]";
- finsS.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(finsS);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.欧姆龙网口PLC:
- FinsTCPPLCHC finsTCP = (FinsTCPPLCHC)ibaseHard;
- FinsTCPPLCHC finsT = new FinsTCPPLCHC();
- finsT.Enable = finsTCP.Enable;
- finsT.HardwareType = HardwareTypeEnum.PLC;
- finsT.HardwareName = finsTCP.HardwareName;
- finsT.型号 = finsTCP.型号;
- finsT.编号 = treeView1.Nodes[HardwareTypeEnum.PLC.ToString()].Nodes.Count;
- finsT.PLCIP = finsTCP.PLCIP;
- finsT.PLC端口号 = finsTCP.PLC端口号;
- finsT.工控机IP = finsTCP.工控机IP;
- node = treeView1.Nodes[HardwareTypeEnum.PLC.ToString()];
- strKey = $"欧姆龙-{finsT.型号}[{finsT.编号}]";
- finsT.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(finsT);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.三菱QPLC:
- MXPLCHC mxplc = (MXPLCHC)ibaseHard;
- MXPLCHC mxplc1 = new MXPLCHC();
- mxplc1.Enable = mxplc.Enable;
- mxplc1.HardwareType = HardwareTypeEnum.PLC;
- mxplc1.HardwareName = mxplc.HardwareName;
- mxplc1.型号 = mxplc.型号;
- mxplc1.编号 = treeView1.Nodes[HardwareTypeEnum.PLC.ToString()].Nodes.Count;
- mxplc1.PLCIP = mxplc.PLCIP;
- mxplc1.PLC端口号 = mxplc.PLC端口号;
- mxplc1.工控机IP = mxplc.工控机IP;
- node = treeView1.Nodes[HardwareTypeEnum.PLC.ToString()];
- strKey = $"三菱-{mxplc1.型号}[{mxplc1.编号}]";
- mxplc1.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(mxplc1);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.三菱机械手:
- MitRobotHC mitr = (MitRobotHC)ibaseHard;
- MitRobotHC mitr1 = new MitRobotHC();
- mitr1.Enable = mitr.Enable;
- mitr1.HardwareType = HardwareTypeEnum.机械手;
- mitr1.HardwareName = mitr.HardwareName;
- mitr1.型号 = mitr.型号;
- mitr1.编号 = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()].Nodes.Count;
- mitr1.IP = mitr.IP;
- mitr1.端口号 = mitr.端口号;
- node = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()];
- strKey = $"三菱-{mitr1.型号}[{mitr1.编号}]";
- mitr1.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(mitr1);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.东芝机械手:
- ToshibaRobotHC tosr = (ToshibaRobotHC)ibaseHard;
- ToshibaRobotHC tosr1 = new ToshibaRobotHC();
- tosr1.Enable = tosr.Enable;
- tosr1.HardwareType = HardwareTypeEnum.机械手;
- tosr1.HardwareName = tosr.HardwareName;
- tosr1.型号 = tosr.型号;
- tosr1.编号 = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()].Nodes.Count;
- tosr1.IP = tosr.IP;
- tosr1.端口号 = tosr.端口号;
- node = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()];
- strKey = $"东芝-{tosr1.型号}[{tosr1.编号}]";
- tosr1.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(tosr1);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.爱普森机械手:
- EpsonRobotHC epsr = (EpsonRobotHC)ibaseHard;
- EpsonRobotHC epsr1 = new EpsonRobotHC();
- epsr1.Enable = epsr.Enable;
- epsr1.HardwareType = HardwareTypeEnum.机械手;
- epsr1.HardwareName = epsr.HardwareName;
- epsr1.型号 = epsr.型号;
- epsr1.编号 = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()].Nodes.Count;
- epsr1.IP = epsr.IP;
- epsr1.端口号 = epsr.端口号;
- node = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()];
- strKey = $"爱普森-{epsr1.型号}[{epsr1.编号}]";
- epsr1.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(epsr1);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.APE机械手:
- APERobotHC aper = (APERobotHC)ibaseHard;
- APERobotHC aper1 = new APERobotHC();
- aper1.Enable = aper.Enable;
- aper1.HardwareType = HardwareTypeEnum.机械手;
- aper1.HardwareName = aper.HardwareName;
- aper1.型号 = aper.型号;
- aper1.编号 = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()].Nodes.Count;
- aper1.IP = aper.IP;
- aper1.端口号 = aper.端口号;
- node = treeView1.Nodes[HardwareTypeEnum.机械手.ToString()];
- strKey = $"APE-{aper1.型号}[{aper1.编号}]";
- aper1.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(aper1);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.点胶平台:
- if (!treeView1.Nodes.ContainsKey(HardwareTypeEnum.MC轴组.ToString()))
- {
- MessageBox.Show($"请先添加运动控制卡轴组");
- return;
- }
- GluePlatHardConfig glue = (GluePlatHardConfig)ibaseHard;
- GluePlatHardConfig glue1 = new GluePlatHardConfig();
- for (int i = 0; i < treeView1.Nodes[HardwareTypeEnum.点胶平台.ToString()].Nodes.Count; i++)
- {
- if (i>3)
- {
- MessageBox.Show($"点胶平台最多添加4个");
- return;
- }
- if (treeView1.Nodes[HardwareTypeEnum.点胶平台.ToString()].Nodes.ContainsKey($"{glue.平台名称}[{i}]"))
- {
- MessageBox.Show($"点胶平台名称重复");
- return;
- }
- }
- glue1.Enable = glue.Enable;
- glue1.HardwareName = glue.HardwareName;
- glue1.HardwareType = HardwareTypeEnum.点胶平台;
- glue1.平台名称 = glue.平台名称;
- glue1.编号 = treeView1.Nodes[HardwareTypeEnum.点胶平台.ToString()].Nodes.Count;
- glue1.轴组编号 = glue.轴组编号;
- node = treeView1.Nodes[HardwareTypeEnum.点胶平台.ToString()];
- strKey = $"{glue1.平台名称}[{glue1.编号}]";
- glue1.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(glue1);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.点胶阀:
- if (!treeView1.Nodes.ContainsKey(HardwareTypeEnum.点胶平台.ToString()))
- {
- MessageBox.Show($"请先添加点胶平台");
- return;
- }
- ValveHC valve = (ValveHC)ibaseHard;
- ValveHC valve1 = new ValveHC();
- for (int i = 0; i < treeView1.Nodes[HardwareTypeEnum.点胶阀.ToString()].Nodes.Count; i++)
- {
- if (i > 3)
- {
- MessageBox.Show($"点胶阀最多添加4个");
- return;
- }
- if (treeView1.Nodes[HardwareTypeEnum.点胶阀.ToString()].Nodes.ContainsKey($"{valve.胶阀名称}[{i}]"))
- {
- MessageBox.Show($"点胶阀名称重复");
- return;
- }
- }
- valve1.Enable = valve.Enable;
- valve1.HardwareName = valve.HardwareName;
- valve1.HardwareType = HardwareTypeEnum.点胶阀;
- valve1.胶阀名称 = valve.胶阀名称;
- valve1.编号 = treeView1.Nodes[HardwareTypeEnum.点胶阀.ToString()].Nodes.Count;
- valve1.胶阀 = valve.胶阀;
- valve1.端口号 = valve.端口号;
- valve1.波特率 = valve.波特率;
- valve1.数据位 = valve.数据位;
- valve1.校验位 = valve.校验位;
- valve1.停止位 = valve.停止位;
- node = treeView1.Nodes[HardwareTypeEnum.点胶阀.ToString()];
- strKey = $"{valve1.胶阀名称}[{valve1.编号}]";
- valve1.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(valve1);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.串口:
- SeriesAtti seriePort = (SeriesAtti)ibaseHard;
- SeriesAtti newSeriePort = new SeriesAtti
- {
- Enable = seriePort.Enable,
- HardwareType = HardwareTypeEnum.串口,
- HardwareName = seriePort.HardwareName,
- 串口名称 = seriePort.串口名称,
- 串口类型 = seriePort.串口类型,
- 端口号 = seriePort.端口号,
- 波特率 = seriePort.波特率,
- 数据位 = seriePort.数据位,
- 校验位 = seriePort.校验位,
- 停止位 = seriePort.停止位,
- 编号 = treeView1.Nodes[HardwareTypeEnum.串口.ToString()].Nodes.Count
- };
- for (int i = 0; i < treeView1.Nodes[HardwareTypeEnum.串口.ToString()].Nodes.Count; i++)
- {
- if (treeView1.Nodes[HardwareTypeEnum.串口.ToString()].Nodes.ContainsKey($"{newSeriePort.端口号}-{newSeriePort.串口名称}[{i}]"))
- {
- MessageBox.Show($"串口名称重复");
- return;
- }
- }
- node = treeView1.Nodes[HardwareTypeEnum.串口.ToString()];
- strKey = $"{newSeriePort.端口号}-{newSeriePort.串口名称}[{newSeriePort.编号}]";
- newSeriePort.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(newSeriePort);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.数据库:
- DatabaseHardConfig db = (DatabaseHardConfig)ibaseHard;
- DatabaseHardConfig db1 = new DatabaseHardConfig();
- db1.Enable = db.Enable;
- db1.HardwareType = HardwareTypeEnum.数据库;
- db1.HardwareName = db.HardwareName;
- db1.编号 = treeView1.Nodes[HardwareTypeEnum.数据库.ToString()].Nodes.Count;
- db1.IP = db.IP;
- db1.端口号 = db.端口号;
- node = treeView1.Nodes[HardwareTypeEnum.数据库.ToString()];
- strKey = $"数据库-{db1.HardwareType}[{db1.编号}]";
- db1.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(db1);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- case HardwareNameEnum.网口:
- SocketAtti socket = (SocketAtti)ibaseHard;
- SocketAtti newSocket = new SocketAtti
- {
- Enable = socket.Enable,
- HardwareType = HardwareTypeEnum.网口,
- HardwareName = socket.HardwareName,
- 编号 = treeView1.Nodes[HardwareTypeEnum.网口.ToString()].Nodes.Count,
- 网口类型 = socket.网口类型,
- 网口名称 = socket.网口名称
- };
- for (int i = 0; i < treeView1.Nodes[HardwareTypeEnum.网口.ToString()].Nodes.Count; i++)
- {
- if (treeView1.Nodes[HardwareTypeEnum.网口.ToString()].Nodes.ContainsKey($"{newSocket.网口名称}[{i}]"))
- {
- MessageBox.Show($"网口名称重复");
- return;
- }
- }
- newSocket.IP = socket.IP;
- newSocket.端口号 = socket.端口号;
- node = treeView1.Nodes[HardwareTypeEnum.网口.ToString()];
- strKey = $"{newSocket.网口名称}[{newSocket.编号}]";
- newSocket.Key = strKey;
- if (!node.Nodes.ContainsKey(strKey))
- {
- node.Nodes.Add(strKey, strKey);
- HardConfigManager.Ins.HardwareList.Add(newSocket);
- }
- else
- {
- MessageBox.Show($"已包含{strKey}");
- }
- break;
- default:
- break;
- }
- }
- private bool JudgeChildNodesText(string strText, TreeNodeCollection treeNodeCollection)
- {
- foreach (TreeNode node in treeNodeCollection)
- {
- if (node.Text == strText)
- {
- return true;
- }
- }
- return false;
- }
- private void BtnSave_Click(object sender, EventArgs e)
- {
- treeView1.Nodes.Clear();
- ShowHardList();
- HardConfigManager.Ins.Save();
- }
- private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e)
- {
- if (treeView1.SelectedNode.Level == 1)
- {
- PgHardConfig.SelectedObject = HardConfigManager.Ins.HardwareList.Find(p => p.Key == treeView1.SelectedNode.Text && p.HardwareType.ToString() == treeView1.SelectedNode.Parent.Text);
- newIBaseHardware = HardConfigManager.Ins.HardwareList.Find(p => p.Key == treeView1.SelectedNode.Text && p.HardwareType.ToString() == treeView1.SelectedNode.Parent.Text);
- PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(PgHardConfig.SelectedObject);
- PropertyDescriptor type = properties["品牌"];
- //SetPropertyReadOnly(PgHardConfig.SelectedObject, "HardwareType", true);//类型
- //if (properties.Contains(type))
- //{
- // SetPropertyReadOnly(PgHardConfig.SelectedObject, "品牌", true);
- //}
- ////propertyGrid1.SelectedObject = HardConfigManager.Ins.HardList.Find(p => p.Key == treeView1.SelectedNode.Text && p.类型.ToString() == treeView1.SelectedNode.Parent.Text);
- //btnAdd.Enabled = false;
- }
- }
- void SetPropertyReadOnly(object obj, string propertyName, bool readOnly)
- {
- Type type = typeof(ReadOnlyAttribute);
- PropertyDescriptorCollection props = TypeDescriptor.GetProperties(obj);
- AttributeCollection attrs = props[propertyName].Attributes;
- FieldInfo fld = type.GetField("isReadOnly", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.CreateInstance);
- fld.SetValue(attrs[type], readOnly);
- }
- private void DeleteToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (treeView1.SelectedNode.Level == 1)
- {
- HardConfigManager.Ins.HardwareList.Remove(HardConfigManager.Ins.HardwareList.Find(p => p.Key == treeView1.SelectedNode.Text));
- treeView1.SelectedNode.Remove();
- newIBaseHardware = new LeadShineMCardHardConfig() { HardwareType = HardwareTypeEnum.运动控制卡, HardwareName = HardwareNameEnum.雷赛运动控制卡 };
- PgHardConfig.SelectedObject = newIBaseHardware;
- }
- else if (treeView1.SelectedNode.Level == 0)
- {
- if (treeView1.Nodes[treeView1.SelectedNode.Text].Nodes.Count == 0)
- {
- treeView1.SelectedNode.Remove();
- }
- }
- }
- private void Form_SysSet_FormClosing(object sender, FormClosingEventArgs e)
- {
- this.Hide();
- e.Cancel = true;
- }
- private void DeleteAllToolStripMenuItem_Click(object sender, EventArgs e)
- {
- treeView1.Nodes.Clear();
- HardConfigManager.Ins.HardwareList.Clear();
- }
- private void BtnSysSave_Click(object sender, EventArgs e)
- {
- string strPath = SysSettingPara.Instance.StrSysSettingFilePath;
- ClsXml.XmlConfigWriter(SysSettingPara.Instance, strPath);
- }
- }
- }
|