public void DeletePrjState(UserPrjOperation uds) { lock (_lock) { if (_PrjStates != null) { _PrjStates.Remove(uds); } RefreshPrjStateList(); } }
private void 添加ToolStripMenuItem_Click(object sender, EventArgs e) { DeviceDataSetting dds = new DeviceDataSetting(); if (dds.ShowDialog() == DialogResult.OK) { PrjOperationType _mode = (PrjOperationType)Enum.Parse(typeof(PrjOperationType), dds.StateName); UserPrjOperation uds = new UserPrjOperation(_mode, dds.Data); AddPrjState(uds); } }
public void AddPrjState(UserPrjOperation uds) { lock (_lock) { if (_PrjStates != null) { _PrjStates.Add(uds); } RefreshPrjStateList(); } }
//保存投影配置 public void SavePrjConfig(List <UserPrjSetting> p_prjSetting) { if (p_prjSetting != null && p_prjSetting.Count > 0) { XmlDocument config = new XmlDocument(); XmlNode root = config.CreateNode(XmlNodeType.Element, "ProjectorData", null); config.AppendChild(root); #region PrjData if (p_prjSetting.Count > 0 && p_prjSetting != null) { for (int i = 0; i < p_prjSetting.Count; i++) { UserPrjSetting currentPrjSetting = p_prjSetting[i]; XmlNode deviceName = config.CreateNode(XmlNodeType.Element, currentPrjSetting.Name, null); for (int cout_mode = 0; cout_mode < currentPrjSetting.DeviceStates.Count; cout_mode++) { UserPrjOperation tempprjState = currentPrjSetting.DeviceStates[cout_mode]; XmlElement mode = config.CreateElement("Mode"); XmlAttribute _name = config.CreateAttribute("Name"); _name.Value = tempprjState.PrjOperationType.ToString(); XmlAttribute _data = config.CreateAttribute("Data"); _data.Value = tempprjState.Data; mode.Attributes.Append(_name); mode.Attributes.Append(_data); deviceName.AppendChild(mode); } XmlNode operationset = config.CreateNode(XmlNodeType.Element, "OperationSetting", null); XmlNode baudRate = config.CreateNode(XmlNodeType.Element, "BaudRate", null); baudRate.InnerText = currentPrjSetting.Pcs.BaudRate.ToString(); XmlNode dataBit = config.CreateNode(XmlNodeType.Element, "DataBit", null); dataBit.InnerText = currentPrjSetting.Pcs.DataBits.ToString(); XmlNode stopBit = config.CreateNode(XmlNodeType.Element, "StopBit", null); stopBit.InnerText = currentPrjSetting.Pcs.StopBits.ToString(); XmlNode parity = config.CreateNode(XmlNodeType.Element, "Parity", null); parity.InnerText = currentPrjSetting.Pcs.Parity.ToString(); operationset.AppendChild(baudRate); operationset.AppendChild(dataBit); operationset.AppendChild(stopBit); operationset.AppendChild(parity); deviceName.AppendChild(operationset); root.AppendChild(deviceName); } } #endregion config.Save(_prjConfigFile); } }
private void dbPrjStateList_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { _selectRowIndex = e.RowIndex; if (_selectRowIndex < 0) { return; } if (e.Clicks == 1 && e.Button == MouseButtons.Right && e.RowIndex >= 0) { contextMenuStrip.Show(Cursor.Position); } if (_PrjStates != null && _PrjStates.Count > 0) { _currentPrjState = _PrjStates[_selectRowIndex]; dbPrjStateList.Rows[_selectRowIndex].Selected = true; } }
private void 添加ToolStripMenuItem_Click(object sender, EventArgs e) { try { DeviceSerialSetting dss = new DeviceSerialSetting(); if (dss.ShowDialog() == DialogResult.OK) { if (_upSettings != null) { foreach (UserPrjSetting upsetting in _upSettings) { if (upsetting.Name == dss.PrjName) { Helper.ShowMessageBox("提示", "已存在相同的名称"); return; } } UserPrjSetting upset = new UserPrjSetting(dss.PrjName, dss.DeviceComSetting); UserPrjOperation _userPrjOperation_On = new UserPrjOperation(PrjOperationType.开, ""); UserPrjOperation _userPrjOperation_Off = new UserPrjOperation(PrjOperationType.关, ""); upset.AddPrjSetting(_userPrjOperation_On); upset.AddPrjSetting(_userPrjOperation_Off); AddPrjSetCommand(upset); } else { UserPrjSetting upset = new UserPrjSetting(dss.PrjName, dss.DeviceComSetting); UserPrjOperation _userPrjOperation_On = new UserPrjOperation(PrjOperationType.开, ""); UserPrjOperation _userPrjOperation_Off = new UserPrjOperation(PrjOperationType.关, ""); upset.AddPrjSetting(_userPrjOperation_On); upset.AddPrjSetting(_userPrjOperation_Off); lock (_lock) { _upSettings.Add(upset); RefreshPrjSetting(); } } } } catch (Exception ex) { Helper.ShowMessageBox("异常", ex.Message); } }
public List <UserPrjSetting> LoadPrjData() { try { XmlDocument prjConfig = new XmlDocument(); prjConfig.Load(_prjConfigFile); XmlNode prjroot = prjConfig.SelectSingleNode("ProjectorData"); _prjSettings.Clear(); foreach (XmlNode prjector in prjroot) { string _prjName = prjector.Name; XmlNodeList _prjCommsetting = prjector.SelectNodes("OperationSetting"); ComSetting pcs = new ComSetting(); foreach (XmlNode comsetting in _prjCommsetting) { int _baudRate = int.Parse(comsetting.SelectSingleNode("BaudRate").InnerText); int _dataBits = int.Parse(comsetting.SelectSingleNode("DataBit").InnerText); int _stopBits = int.Parse(comsetting.SelectSingleNode("StopBit").InnerText); Parity _parity = (Parity)Enum.Parse(typeof(Parity), comsetting.SelectSingleNode("Parity").InnerText); pcs.BaudRate = _baudRate; pcs.DataBits = _dataBits; pcs.StopBits = _stopBits; pcs.Parity = _parity; } UserPrjSetting _ups = new UserPrjSetting(_prjName, pcs); XmlNodeList _tempprjStates = prjector.SelectNodes("Mode"); _prjSettings.Add(_ups); foreach (XmlNode _prjState in _tempprjStates) { string _statename = _prjState.Attributes["Name"].Value; string _statedata = _prjState.Attributes["Data"].Value; PrjOperationType _mode = (PrjOperationType)Enum.Parse(typeof(PrjOperationType), _statename); UserPrjOperation uds = new UserPrjOperation(_mode, _statedata); _ups.DeviceStates.Add(uds); } } return(_prjSettings); } catch { Helper.ShowMessageBox("提示", "未找到投影机配置文件!"); return(null); } }
public void RefreshPrjStateList() { lock (_lock) { dbPrjStateList.Rows.Clear(); _currentPrjState = null; if (_PrjStates != null) { foreach (UserPrjOperation uds in _PrjStates) { dbPrjStateList.Rows.Add(uds.PrjOperationType.ToString(), uds.Data); } } if (_PrjStates != null && _PrjStates.Count > 0) { dbPrjStateList.Rows[_PrjStates.Count - 1].Selected = true; _currentPrjState = _PrjStates[_PrjStates.Count - 1]; } } }