| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- using System;
- using System.Linq;
- using System.Windows.Forms;
- using Core.ONH.Collection.comm;
- namespace Core.ONH.Collection.Receive
- {
- public partial class FrmSetting : Form
- {
- public FrmSetting()
- {
- InitializeComponent();
- }
- private void FrmSetting_Load(object sender, EventArgs e)
- {
- for (var i = 1; i <= 20; i++)
- cmbx_Com.Items.Add("COM" + i);
- InitTreeView();
- IniDecimal();
- }
- private void InitTreeView()
- {
- string selectCom = "";
- if (tvComm.SelectedNode!=null && tvComm.SelectedNode.Parent != null && tvComm.SelectedNode.Parent.Name == "mainnode")
- {
- selectCom = tvComm.SelectedNode.Name;
- }
-
- tvComm.Nodes["mainnode"].Nodes.Clear();
- SerialPortHelper.Instance()
- .SerialPorts.OrderBy(p => p.PortName)
- .ToList()
- .ForEach(p => { tvComm.Nodes["mainnode"].Nodes.Add(p.PortName, p.PortName); });
- tvComm.ExpandAll();
- if (selectCom!="" && tvComm.Nodes["mainnode"].Nodes[selectCom] != null)
- {
- tvComm.SelectedNode = tvComm.Nodes["mainnode"].Nodes[selectCom];
- }
- else if (tvComm.Nodes["mainnode"].Nodes.Count>0)
- {
- tvComm.SelectedNode = tvComm.Nodes["mainnode"].FirstNode;
- }
- tvComm_NodeMouseClick(null, new TreeNodeMouseClickEventArgs( tvComm.SelectedNode,MouseButtons.XButton1,0,0,0));
- }
- private void IniDecimal()
- {
- cboO.Checked = ONHDataHelper.Instance().OFlag;
- cboN.Checked = ONHDataHelper.Instance().NFlag;
- cboH.Checked = ONHDataHelper.Instance().HFlag;
- nudO.Value = ONHDataHelper.Instance().ODecimals;
- nudN.Value = ONHDataHelper.Instance().NDecimals;
- nudH.Value = ONHDataHelper.Instance().HDecimals;
- }
- private void btnSave_Click(object sender, EventArgs e)
- {
- if (cmbx_Com.Text == "")
- {
- MessageBox.Show("请选择串口号!", "提示");
- cmbx_Com.Focus();
- return;
- }
- if (baudRate.Text == "")
- {
- MessageBox.Show("请选择波特率!", "提示");
- baudRate.Focus();
- return;
- }
- if (dataBits.Text == "")
- {
- MessageBox.Show("请选择数据位!", "提示");
- dataBits.Focus();
- return;
- }
- if (stopBits.Text == "")
- {
- MessageBox.Show("请选择停止位!", "提示");
- stopBits.Focus();
- return;
- }
- if (paRity.Text == "")
- {
- MessageBox.Show("请选择奇偶校验!", "提示");
- paRity.Focus();
- return;
- }
- SerialPortEntity currentSeial;
- var currentSeials = SerialPortHelper.Instance()
- .SerialPorts.Where(p => p.PortName == cmbx_Com.Text).ToList();
- if (currentSeials.Count <= 0)
- {
- currentSeial = new SerialPortEntity
- {
- PortName = cmbx_Com.Text,
- StrBaudRate = baudRate.Text,
- StrDataBits = dataBits.Text,
- StrStopBits = stopBits.Text,
- StrParity = paRity.Text,
- DeviceName = txtDEVICE_NAME.Text
- };
- SerialPortHelper.Instance().AddSerialPorts(currentSeial);
- }
- else
- {
- currentSeial = currentSeials[0];
- currentSeial.StrBaudRate = baudRate.Text;
- currentSeial.StrDataBits = dataBits.Text;
- currentSeial.StrStopBits = stopBits.Text;
- currentSeial.StrParity = paRity.Text;
- currentSeial.DeviceName = txtDEVICE_NAME.Text;
- SerialPortHelper.Instance().ChangeSerialPorts(currentSeial);
- }
- InitTreeView();
- }
- private void btnDelete_Click(object sender, EventArgs e)
- {
- var currentSeials = SerialPortHelper.Instance()
- .SerialPorts.Where(p => p.PortName == cmbx_Com.Text).ToList();
- if (currentSeials.Count > 0)
- SerialPortHelper.Instance().DeleteSerialPorts(currentSeials[0]);
- InitTreeView();
- }
- private void tvComm_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
- {
- if ( e.Node.Parent!=null && e.Node.Parent.Name=="mainnode")
- {
- SerialPortEntity currentSeial;
- var currentSeials = SerialPortHelper.Instance()
- .SerialPorts.Where(p => p.PortName == e.Node.Text).ToList();
- if (currentSeials.Count > 0)
- {
- currentSeial = currentSeials[0];
- cmbx_Com.Text = currentSeial.PortName;
- baudRate.Text = currentSeial.StrBaudRate;
- dataBits.Text = currentSeial.StrDataBits;
- stopBits.Text = currentSeial.StrStopBits;
- paRity.Text = currentSeial.StrParity;
- txtDEVICE_NAME.Text = currentSeial.DeviceName;
- }
- }
- }
- private void button1_Click(object sender, EventArgs e)
- {
- ONHDataHelper.Instance().OFlag = cboO.Checked;
- ONHDataHelper.Instance().NFlag = cboN.Checked;
- ONHDataHelper.Instance().HFlag = cboH.Checked;
- ONHDataHelper.Instance().ODecimals = (int)nudO.Value;
- ONHDataHelper.Instance().NDecimals = (int)nudN.Value;
- ONHDataHelper.Instance().HDecimals = (int)nudH.Value;
- MessageBox.Show("保存成功");
- }
- }
- }
|