Пишу небольшую утилитку для работы с com-портами активного оборудования. Никак не получается выводить логи в textBox.
namespace Proshivator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string[] ports = SerialPort.GetPortNames();
comboBox1.Items.AddRange(ports);
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
try
{
serialPort1.PortName = comboBox1.Text;
serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text);
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.Parity = Parity.None;
serialPort1.Handshake = Handshake.RequestToSend;
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1.DataReceived);
serialPort1.Open();
progressBar1.Value = 100;
if (serialPort1.IsOpen)
{
richTextBox1.Text = "Порт открыт\r\nСоединение...";
}
}
catch (Exception err)
{
MessageBox.Show(err.Message, "Ошибка COM порта. Проверьте подключение", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
serialPort1.ReadTimeout = 500;
serialPort1.WriteTimeout = 500;
}
private void button2_Click(object sender, EventArgs e)
{
if (serialPort1.IsOpen)
{
serialPort1.Close();
progressBar1.Value = 0;
richTextBox1.Text = "Порт закрыт";
}
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string recievedData = serialPort1.ReadExisting();
}
}
}