title: Serial port can't send out data
body: <p>I'm doing a project on serial port.. but after i changed my serial comm port into combo box selection, i cant seems to transmit anything data out. here's my codes:</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Linq;
  using System.Text;
  using System.Windows.Forms;
  using System.IO.Ports;
  
  namespace XSP
  {
      public partial class Form1 : Form
      {
          string RxString;
          byte[] buffer = Encoding.UTF8.GetBytes("RxString");
  
          public Form1()
          {
              InitializeComponent();
  
              this.Load += Form1_Load;
  
              serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
              Console.ReadLine();
          }
  
          void Form1_Load(object sender, EventArgs e)
          {
              var serialPort1 = SerialPort.GetPortNames();
              cbCommPorts.DataSource = serialPort1;
          }
  
          public static byte[] ConvertToBinary(string str)
          {
              System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
              return encoding.GetBytes(str);
          }
  
          private void btnOpen_Click(object sender, EventArgs e)
          {
  
              if (cbCommPorts.SelectedIndex &gt; -1)
              {
                  MessageBox.Show(String.Format("You selected port '{0}'", cbCommPorts.SelectedItem));
                  Connect(cbCommPorts.SelectedItem.ToString());
              }
              else
              {
                  MessageBox.Show("Please select a port first");
              }
  
          }
  
          private void Connect(string portName)
          {
              var serialPort1 = new SerialPort(portName);
              if (!serialPort1.IsOpen)
              {
                  serialPort1.BaudRate = 115200;
                  serialPort1.Open();
  
                  btnTransmit.Enabled = true;
                  btn2.Enabled = true;
                  btn3.Enabled = true;
                  btnOpen.Enabled = false;
                  btnClose.Enabled = true;
              }
          }
          private void btnTransmit_Click(object sender, EventArgs e)
          {
              if (serialPort1.IsOpen)
              {
                  string value = "12345";
                  serialPort1.Write(value);
              }
              else serialPort1.Close();
          }
  
          private void txtReceive_KeyPress(object sender, KeyPressEventArgs e)
          {
              if (serialPort1.IsOpen) return;
              char[] buff = new char[1];
              buff[0] = e.KeyChar;
              serialPort1.Write(buff, 0, 1);
              e.Handled = true;
          }
  
          private void DisplayText(object sender, EventArgs e)
          {
              txtReceive.AppendText(RxString);
          }
  
          private void serialPort1_DataReceived
              (object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
          {
              RxString = serialPort1.ReadExisting();
              this.Invoke(new EventHandler(DisplayText));
          }
  
          private void btnOpenFile_Click(object sender, EventArgs e)
          {
              OpenFileDialog openFileDialog1 = new OpenFileDialog();
              openFileDialog1.InitialDirectory = "c:\\";
              openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
              openFileDialog1.FilterIndex = 2;
              openFileDialog1.RestoreDirectory = true;
  
              if (openFileDialog1.ShowDialog() == DialogResult.OK)
              {
                  System.IO.StreamReader sr = new
               System.IO.StreamReader(openFileDialog1.FileName);
                  MessageBox.Show(sr.ReadToEnd());
                  sr.Close();
              }
          }
  
          private void btnExit_Click(object sender, EventArgs e)
          {
              Application.Exit();
          }
  
          private void btnClose_Click(object sender, EventArgs e)
          {
              serialPort1.Close();
              btnOpen.Enabled = true;
              btnClose.Enabled = false;
              btnTransmit.Enabled = false;
              btn2.Enabled = false;
              btn3.Enabled = false;
          }
      }
  }
  </code></pre>
  
  <p>Can someone help me to point out where my error lies in? Thanks </p>