Exemplo n.º 1
0
        private void FormDVSerialPortConfig_Load(object sender, EventArgs e)
        {
            SCommXml xml = null;

            try
            {
                // 加载系统串口信息
                LoadSerialPortItems();

                // 读XML文件
                xml = OpenSCommXml();
            }
            catch (Exception ex)
            {
                MessageUtil.ShowWarning(ex.Message);

                return;
            }

            SCommItem item = (SCommItem)xml["主控串口"];

            if (item == null)
            {
                MessageUtil.ShowTips("无法从配置文件中找到串口信息,使用默认串口COM1");

                lblComm.Text = "COM1";
            }
            else
            {
                lblComm.Text = item.Name;
            }

            // 更新界面显示
            UpdateUISerialPortInfo(item);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 生成串口对象
        /// </summary>
        /// <returns></returns>
        public SerialPort CreateSerialPortObject(string devTag)
        {
            // 从配置文件读取串口信息
            string filePath = Application.StartupPath + "\\XML\\MySettings.xml";

            try
            {
                // 打开XML文件
                XmlSerializeHelper <SCommItem, SCommXml> .OpenXmlFile(filePath);

                // 读取XML文件
                SCommXml xml = XmlSerializeHelper <SCommItem, SCommXml> .ReadXML();

                // 获得指定名称的串口信息
                SCommItem item = (SCommItem)xml[devTag];

                // 校验位转换
                Parity parity = ConvertToParity(item.Parity);
                // 停止位
                StopBits stopBits = ConvertToStopBits(item.StopBits);

                // 生成串口
                return(new SerialPort(item.Name, item.Baud, parity, item.DataBits, stopBits));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 确定
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (cbxSerialPortNo.Text == "")
            {
                MessageUtil.ShowTips("请先选择串口号!");
                return;
            }

            // 打开系统配置文件,写入串口配置信息
            try
            {
                // 读XML文件
                SCommXml xml = OpenSCommXml();
                // 读取当前串口配置
                SCommItem item = (SCommItem)xml["主控串口"];

                // 更新XML中的串口信息
                UpdateXmlSerialPortInfo(item);
                XmlSerializeHelper <SCommItem, SCommXml> .WriteXML(xml);

                // 更新属性类中的串口信息
                UpdatePropertySerialPortInfo(item);

                if (MessageUtil.ShowTips("串口设置成功!") == DialogResult.OK)
                {
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageUtil.ShowWarning(ex.Message);
            }
        }