本文地址如下: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>
示例程序