0

C# プログラムでシリアル (COM) ポート設定 (ボー レート、ストップ ビットなど) をプログラムで設定したいのですが、次のようなことをすると、Windows 環境に設定が保存されません。私は完全に間違った道を進んでいますか?

  SerialPort serialPort = new SerialPort();
  string[] ports = SerialPort.GetPortNames();

  serialPort.PortName = "COM5";
  serialPort.BaudRate = 9600;
  serialPort.DataBits = 8;
  serialPort.DtrEnable = true;

  serialPort.StopBits = StopBits.One;
  serialPort.Parity = Parity.None;
  if (serialPort.IsOpen) serialPort.Close();
4

1 に答える 1

2

プロジェクト プロパティの [設定] タブに移動し、保持する値の設定を次のように追加します。

ここに画像の説明を入力

次に、このようにコードでそれらにアクセスします。アプリケーションの終了時にそれらを保存する:

public partial class Form1 : Form
{
    SerialPort serialPort; 
    public Form1()
    {
        InitializeComponent();
        serialPort = new SerialPort();
        serialPort.PortName = Properties.Settings.Default.PortName;
        serialPort.BaudRate = Properties.Settings.Default.BaudRate;
        serialPort.DataBits = Properties.Settings.Default.DataBits;
        serialPort.DtrEnable = Properties.Settings.Default.DtrEnable;
        serialPort.StopBits = Properties.Settings.Default.StopBits;
        serialPort.Parity = Properties.Settings.Default.Parity;

    }

    private void button1_Click(object sender, EventArgs e)
    {
        serialPort.PortName = "COM1";
    }

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        Properties.Settings.Default.PortName = serialPort.PortName;
        Properties.Settings.Default.BaudRate = serialPort.BaudRate;
        Properties.Settings.Default.DataBits = serialPort.DataBits;
        Properties.Settings.Default.DtrEnable = serialPort.DtrEnable;
        Properties.Settings.Default.StopBits = serialPort.StopBits;
        Properties.Settings.Default.Parity = serialPort.Parity;
        Properties.Settings.Default.Save(); //Saves settings 

    }
}
于 2012-11-03T00:09:39.823 に答える