private void Form1_Load(object sender, EventArgs e) { //! 利用可能なシリアルポート名の配列を取得する. string[] PortList = SerialPort.GetPortNames(); comboBox1.Items.Clear(); //! シリアルポート名をコンボボックスにセットする. foreach (string PortName in PortList) { comboBox1.Items.Add(PortName); } if (comboBox1.Items.Count > 0) { comboBox1.SelectedIndex = 0; } comboBox2.Items.Clear(); // ボーレート選択コンボボックスに選択項目をセットする. comboBox2item baud; baud = new comboBox2item(); baud.NAME = "4800bps"; baud.BAUDRATE = 4800; comboBox2.Items.Add(baud); baud = new comboBox2item(); baud.NAME = "9600bps"; baud.BAUDRATE = 9600; comboBox2.Items.Add(baud); baud = new comboBox2item(); baud.NAME = "19200bps"; baud.BAUDRATE = 19200; comboBox2.Items.Add(baud); baud = new comboBox2item(); baud.NAME = "115200bps"; baud.BAUDRATE = 115200; comboBox2.Items.Add(baud); comboBox2.SelectedIndex = 1; // フロー制御選択コンボボックスに選択項目をセットする. // 送受信用のテキストボックスをクリアする. textBox1.Clear(); }
private void connectButton_Click(object sender, EventArgs e) { if (serialPort1.IsOpen == true) { //! シリアルポートをクローズする. serialPort1.Close(); //! ボタンの表示を[切断]から[接続]に変える. button1.Text = "接続"; } else { //! オープンするシリアルポートをコンボボックスから取り出す. serialPort1.PortName = comboBox1.SelectedItem.ToString(); //! ボーレートをコンボボックスから取り出す. comboBox2item baud = (comboBox2item)comboBox2.SelectedItem; serialPort1.BaudRate = baud.BAUDRATE; //! データビットをセットする. (データビット = 8ビット) serialPort1.DataBits = 8; //! パリティビットをセットする. (パリティビット = なし) serialPort1.Parity = Parity.None; //! ストップビットをセットする. (ストップビット = 1ビット) serialPort1.StopBits = StopBits.One; //! フロー制御をコンボボックスから取り出す. //! 文字コードをセットする. serialPort1.Encoding = Encoding.ASCII; try { //! シリアルポートをオープンする. serialPort1.Open(); //! ボタンの表示を[接続]から[切断]に変える. button1.Text = "切断"; } catch (Exception ex) { MessageBox.Show(ex.Message); } } }