En este código muestra los nombres de la configuración. Teniendo el código completo hecho, quiero que muestre un resumen en el componente statusStrip como muestra abajo.
Se tiene que mostrar como indica abajo.
Pongo el código funcional de la configuración del puerto serie, solo falta que muestra la información en el statusStrip que no se hacerlo, siempre con fallos y llevo tres días.
Código
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.IO.Ports; // No olvidar. namespace Config_Puerto_Serie { public partial class Form1 : Form { // Variables. bool Conectado; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // Añado los puertos disponible en el PC con SerialPort.GetPortNames() al combo comboBox_Puerto.DataSource = SerialPort.GetPortNames(); // Añade los bits de datos. comboBox_Bits_de_datos.Items.Add("5"); comboBox_Bits_de_datos.Items.Add("6"); comboBox_Bits_de_datos.Items.Add("7"); comboBox_Bits_de_datos.Items.Add("8"); comboBox_Bits_de_datos.SelectedIndex = 3; // Añade los bits de parada. { comboBox_Bits_de_parada.Text = "Two"; comboBox_Bits_de_parada.Items.Add(Bit_Parada); } // Añade la Paridad al comboBox. { comboBox_Paridad.Text = "None"; comboBox_Paridad.Items.Add(Paridad); } // Añade el control de flujo. { comboBox_Control_de_flujo.Text = "None"; comboBox_Control_de_flujo.Items.Add(Flujo); } textBox_Read_time_out.Text = "-1"; textBox_Write_time_out.Text = "-1"; comboBox_DiscardNull.Items.Add("False"); comboBox_DiscardNull.Items.Add("True"); comboBox_DiscardNull.SelectedIndex = 0; comboBox_DtrEnable.Items.Add("False"); comboBox_DtrEnable.Items.Add("True"); comboBox_DtrEnable.SelectedIndex = 0; comboBox_RtsEnable.Items.Add("False"); comboBox_RtsEnable.Items.Add("True"); comboBox_RtsEnable.SelectedIndex = 0; textBox_ParityReplace.Text = "63"; textBox_ReceivedBytesTrheshold.Text = "1"; textBox_ReadBufferSize.Text = "4096"; textBox_WriteBufferSize.Text = "2048"; // Añade puertos disponibles físicos y virtuales. serialPort1.BaudRate = (int)Int16.Parse(comboBox_Bit_por_segundo.Text.ToString()); serialPort1.PortName = comboBox_Puerto.Text.ToString(); serialPort1.DataBits = (int)Int16.Parse(comboBox_Bits_de_datos.Text.ToString()); serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), comboBox_Bits_de_parada.Text.ToString()); serialPort1.Handshake = (Handshake)Enum.Parse(typeof(Handshake), comboBox_Control_de_flujo.Text.ToString()); // Más configuraciones. serialPort1.ReadTimeout = (int)Int16.Parse(textBox_Read_time_out.Text.ToString()); serialPort1.WriteTimeout = (int)Int16.Parse(textBox_Write_time_out.Text.ToString()); serialPort1.DiscardNull = Convert.ToBoolean(comboBox_DiscardNull.Text.ToString()); serialPort1.DtrEnable = Convert.ToBoolean(comboBox_DtrEnable.Text.ToString()); serialPort1.ParityReplace = Convert.ToByte(textBox_ParityReplace.Text.ToString()); serialPort1.RtsEnable = Convert.ToBoolean(comboBox_RtsEnable.Text.ToString()); serialPort1.ReadBufferSize = (int)Int16.Parse(textBox_ReadBufferSize.Text.ToString()); serialPort1.WriteBufferSize = (int)Int16.Parse(textBox_WriteBufferSize.Text.ToString()); } private void button_Conectar_Puerto_Click(object sender, EventArgs e) { if(!serialPort1.IsOpen) { serialPort1.Open(); Conectado = true; // Cariable de clase boleana para controlar si el puero lo abro yo o no. button_Conectar_Puerto.Text = "DESCONECTAR"; button_Conectar_Puerto.BackColor = Color.Green; } else { if (Conectado) { serialPort1.Close(); Conectado = false; button_Conectar_Puerto.Text = "CONECTAR"; button_Conectar_Puerto.BackColor = Color.Red; } else { // Esta ocupado por otro programa muestra mensaje y no hacer nada label_Mensajes_de_error.Text = "Puerto ocupado o no lo encuentra."; } } } // Detecta USB o puerto serie virtual cuando lo conecta y desconecta del cable. protected override void WndProc(ref Message USB) { if (USB.Msg == 0x219) { comboBox_Puerto.DataSource = SerialPort.GetPortNames(); } base.WndProc(ref USB); // Detecta si hay cambios en el usb y si los hay los refleja. } } }
Felices navidades.