02 配置文件

本文地址为:http://www.cnblogs.com/ADTL/p/5361468.html 

NewLife配置文件很方便。

使用示例:

1、新建WinForm程序

2、引用NewLife.Core.dll文件

3、新建类CommConfig

 /// <summary>
    /// 串口配置
    /// </summary>
    [XmlConfigFile(@"Config\CommConfig.config")]
    public class CommConfig : XmlConfig<CommConfig>
    {
        /// <summary>
        /// 串口名
        /// </summary>
        [Description("串口名")]
        public String PortName { get; set; }
        [Description("波特率")]
        public Int32 BaudRate { get; set; }
        /// <summary>
        /// 数据位
        /// </summary>
        [Description("数据位")]
        public Int32 DataBits { get; set; }
        /// <summary>
        /// 停止位
        /// </summary>
        [Description("停止位 None/One/Two/OnePointFive")]
        public StopBits StopBits { get; set; }
        /// <summary>
        /// 奇偶校验
        /// </summary>
        [Description("奇偶校验 None/Odd/Even/Mark/Space")]
        public Parity Parity { get; set; }
        /// <summary>
        /// 非序列化字段
        /// </summary>
        [XmlIgnore]
        public int 呵呵 { get; set; }
        #region 方法
        /// <summary>
        /// 新建文件
        /// </summary>
        protected override void OnNew()
        {
            PortName = "COM1";
            BaudRate = 115200;
            DataBits = 8;
            StopBits = StopBits.One;
            Parity = Parity.None;
        }
        #endregion
    }

 

4、使用代码

SerialPort spTest = new SerialPort();
        private void FormDemo_Load(object sender, EventArgs e)
        {
            comboBoxPortName.Items.Clear();
            foreach(var spName in SerialPort.GetPortNames())
            {
                comboBoxPortName.Items.Add(spName);
            }
            comboBoxPortName.Text = CommConfig.Current.PortName;
        }
        
        private void btnOpen_Click(object sender, EventArgs e)
        {
            CommConfig.Current.PortName = comboBoxPortName.Text;
            CommConfig.Current.Save();
            
            spTest.PortName = CommConfig.Current.PortName;
            spTest.BaudRate = CommConfig.Current.BaudRate;
            spTest.DataBits = CommConfig.Current.DataBits;
            spTest.StopBits = CommConfig.Current.StopBits;
            spTest.Parity = CommConfig.Current.Parity;
            spTest.Open();
        }

        private void btnTestSend_Click(object sender, EventArgs e)
        {
            spTest.WriteLine("hello Comm");
        }

5 配置文件在文件目录\Config\CommConfig.config

http://www.cnblogs.com/ADTL/p/5361468.html 

内容如下:

<?xml version="1.0" encoding="utf-8"?>
<CommConfig>
  <!--串口名-->
  <PortName>COM19</PortName>
  <!--波特率-->
  <BaudRate>115200</BaudRate>
  <!--数据位-->
  <DataBits>8</DataBits>
  <!--停止位 None/One/Two/OnePointFive-->
  <StopBits>One</StopBits>
  <!--奇偶校验 None/Odd/Even/Mark/Space-->
  <Parity>None</Parity>
</CommConfig>

示例程序

posted @ 2016-04-06 22:33  ADTL  阅读(322)  评论(0编辑  收藏  举报