📄 configform.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace GPSSerialPortData
{
public partial class ConfigForm : Form
{
public ConfigForm()
{
InitializeComponent();
}
private void ConfigForm_Load(object sender, EventArgs e)
{
/*获取当前计算机上所有的串口*/
string[] ports = System.IO.Ports.SerialPort.GetPortNames();
//checkedListBox1.set
foreach (string port in ports)
{
checkedListBox1.Items.Add(port);
}
//for (int i = 1; i < 10; i++)
//{
// checkedListBox1.Items.Add("COM" + i.ToString());
//}
InitForm();
}
private void InitForm()
{
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (SerialPortConfig.IsExistPort(checkedListBox1.Items[i].ToString()))
{
checkedListBox1.SetItemChecked(i, true);
}
else
{
checkedListBox1.SetItemChecked(i, false);
}
}
cbBaudRate.Text = SerialPortConfig.BaudRate.ToString();
switch (SerialPortConfig.Parity)
{
case System.IO.Ports.Parity.Even:
cbParity.Text = "E";
break;
case System.IO.Ports.Parity.Mark:
cbParity.Text = "M";
break;
case System.IO.Ports.Parity.None:
cbParity.Text = "N";
break;
case System.IO.Ports.Parity.Odd:
cbParity.Text = "O";
break;
case System.IO.Ports.Parity.Space:
cbParity.Text = "S";
break;
}
cbDataBits.Text = SerialPortConfig.DataBits.ToString();
switch (SerialPortConfig.StopBits)
{
case System.IO.Ports.StopBits.None:
cbStopBits.Text = "0";
break;
case System.IO.Ports.StopBits.One:
cbStopBits.Text = "1";
break;
case System.IO.Ports.StopBits.OnePointFive:
cbStopBits.Text = "1.5";
break;
case System.IO.Ports.StopBits.Two:
cbStopBits.Text = "2";
break;
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnSave_Click(object sender, EventArgs e)
{
try
{
int x = Int32.Parse(cbBaudRate.Text);
errorProvider1.SetError(cbBaudRate, "");
}
catch
{
errorProvider1.SetError(cbBaudRate, "请输入数字");
return;
}
SerialPortConfig.ClearPort();
foreach (object obj in checkedListBox1.CheckedItems)
{
SerialPortConfig.AddPort(obj.ToString());
}
SerialPortConfig.BaudRate = int.Parse(cbBaudRate.Text);
switch (cbParity.Text)
{
case "E":
SerialPortConfig.Parity = System.IO.Ports.Parity.Even;
break;
case "M":
SerialPortConfig.Parity = System.IO.Ports.Parity.Mark;
break;
case "N":
SerialPortConfig.Parity = System.IO.Ports.Parity.None;
break;
case "O":
SerialPortConfig.Parity = System.IO.Ports.Parity.Odd;
break;
case "S":
SerialPortConfig.Parity = System.IO.Ports.Parity.Space;
break;
}
SerialPortConfig.DataBits = int.Parse(cbDataBits.Text);
switch (cbStopBits.Text)
{
case "0":
SerialPortConfig.StopBits = System.IO.Ports.StopBits.None;
break;
case "1":
SerialPortConfig.StopBits = System.IO.Ports.StopBits.One;
break;
case "1.5":
SerialPortConfig.StopBits = System.IO.Ports.StopBits.OnePointFive;
break;
case "2":
SerialPortConfig.StopBits = System.IO.Ports.StopBits.Two;
break;
}
this.DialogResult = DialogResult.OK;
this.Close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -