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