using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO.Ports;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//private void rec(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
//{
// this.Invoke((EventHandler)(delegate
// {
// textBoxrec.AppendText(serialPort1.ReadExisting());
// }));
//}
private void rec(object sender,SerialDataReceivedEventArgs e)
{
this.Invoke((EventHandler)(delegate
{
textBoxrec.AppendText(serialPort1.ReadExisting());
}
));
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
if (serialPort1.IsOpen)
{
serialPort1.Close();
btnopen.Text = "打开串口";
btnopen.BackColor = Color.White;
comboBox1.Enabled = true;
}
else
{
try
{
serialPort1.PortName = comboBox1.Text;
serialPort1.Open();
btnopen.Text = "关闭串口";
btnopen.BackColor = Color.LightGreen;
comboBox1.Enabled = false;
}
catch
{
MessageBox.Show("打开串口失败", "提示");
}
}
}
private void timer1_Tick(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void btnscan_Click(object sender, EventArgs e)
{
comboBox1.Items.Clear();
try
{
comboBox1.Items.AddRange(SerialPort.GetPortNames());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
//for (int i = 1; i < 10; i++)
//{
// try
// {
// serialPort1.PortName = "COM" + Convert.ToString(i);
// serialPort1.Open();
// comboBox1.Items.Add(serialPort1.PortName);
// serialPort1.Close();
// }
// catch(Exception ex)
// {
// //MessageBox.Show(ex.Message );
// break;
// }
//}
MessageBox.Show("扫描完成");
}
private void btnclear_Click(object sender, EventArgs e)
{
textBoxrec.Text = "";
}
private void btnsend_Click(object sender, EventArgs e)
{
try
{
string buf = textBoxsend.Text;
serialPort1.Write(buf);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}