Code:
using System;
using System.IO.Ports;
using System.Windows.Forms;
namespace SerialPort
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
cmdClose.Enabled = false;
foreach (String s in System.IO.Ports.SerialPort.GetPortNames())
{
txtPort.Items.Add(s);
}
}
public System.IO.Ports.SerialPort sport;
public void serialport_connect(String port, int baudrate , Parity parity, int databits, StopBits stopbits)
{
DateTime dt = DateTime.Now;
String dtn = dt.ToShortTimeString();
sport = new System.IO.Ports.SerialPort(
port, baudrate, parity, databits, stopbits);
try
{
sport.Open();
cmdClose.Enabled = true;
cmdConnect.Enabled = false;
txtReceive.AppendText("[" + dtn + "] " + "Connected\n");
sport.DataReceived += new SerialDataReceivedEventHandler(sport_DataReceived);
}
catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error"); }
}
private void sport_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
DateTime dt = DateTime.Now;
String dtn = dt.ToShortTimeString();
var datareceived = sport.ReadExisting();
textBox1.AppendText("[" + dtn + "] " + "Received: " + hex + "\n");
// Not Used !!!!!!!
// txtReceive.AppendText("["+dtn+"] "+"Received: " + datareceived + "\n");
}
private void cmdConnect_Click(object sender, EventArgs e)
{
String port = txtPort.Text;
int baudrate = Convert.ToInt32(cmbbaudrate.Text);
Parity parity = (Parity)Enum.Parse(typeof(Parity), cmbparity.Text);
int databits = Convert.ToInt32(cmbdatabits.Text);
StopBits stopbits = (StopBits)Enum.Parse(typeof(StopBits), cmbstopbits.Text);
serialport_connect(port, baudrate, parity, databits, stopbits);
progressBar1.Value = 100;
toolStripProgressBar1.Value = 100;
}
private void button1_Click(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
String dtn = dt.ToShortTimeString();
String data = txtDatatoSend.Text;
sport.Write(data);
txtReceive.AppendText("[" + dtn + "] " + "Sent: " + data + "\n");
}
private void cmdClose_Click_1(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
String dtn = dt.ToShortTimeString();
if (sport.IsOpen)
{
sport.Close();
cmdClose.Enabled = false;
cmdConnect.Enabled = true;
txtReceive.AppendText("[" + dtn + "] " + "Disconnected\n");
progressBar1.Value = 0;
toolStripProgressBar1.Value = 0;
}
}
private void cmbstopbits_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void cmbparity_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void cmbdatabits_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void label6_Click(object sender, EventArgs e)
{
}
private void label7_Click(object sender, EventArgs e)
{
}
private void toolStripProgressBar1_Click(object sender, EventArgs e)
{
}
private void txtDatatoSend_TextChanged(object sender, EventArgs e)
{
}
private void statusStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
private void button5_Click(object sender, EventArgs e)
{
txtReceive.Clear();
}
private void txtReceive_TextChanged(object sender, EventArgs e)
{
}
private void label7_Click_1(object sender, EventArgs e)
{
}
private void settingsToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void hidePortSettingsToolStripMenuItem_Click(object sender, EventArgs e)
{
cmbparity.Visible = false;
label2.Visible = false;
label3.Visible = false;
label4.Visible = false;
cmbdatabits.Visible = false;
cmbstopbits.Visible = false;
showPortSettingsToolStripMenuItem.Checked = false;
}
// on click showPortSettings
private void showPortSettingsToolStripMenuItem_Click(object sender, EventArgs e)
{
cmbparity.Visible = true;
label2.Visible = true;
label3.Visible = true;
label4.Visible = true;
cmbdatabits.Visible = true;
cmbstopbits.Visible = true;
hidePortSettingsToolStripMenuItem.Checked = false;
}
private void toolsToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void informationToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.ShowDialog();
}
private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
}
}