Paso 9: Rellenar el ComboBox (paso 1 y 2)
Para rellenar el ComboBox colocamos primero con puertos COM serie disponibles que debemos crear un evento que se activa una vez que el formulario se cargue totalmente. Para hacer esto simplemente seleccione la forma completa clic directamente sobre ella y haciendo clic en el icono de pequeñas de la iluminación en el panel Propiedades. Esto abrirá los eventos disponibles para este formulario.
Junto al evento había titulado tipo de carga el nombre del controlador del evento. En este caso escribe "OnWindowLoad" y presiona enter. Visual studio creará el controlador de eventos en el código detrás de nuestro proyecto y carga enseguida.
Ahora que ya tenemos nuestro formulario diseñado y el primer controlador de eventos configurado vamos a empezar trabajando en el código para rellenar el ComboBox.
El primer paso es rellenar el ComboBox con los puertos COM que tenga una conexión serial de ellos. Puesto que utiliza el TinyDuino serie para comunicarse con nuestro equipo este debería ser más fácil encontrar el puerto correcto.
Para ello tendrá cuatro pasos:
- Crear una nueva clase para contener los puertos serie
- Rellenar una matriz de cadenas con los puertos serie disponibles
- Convertir dicha matriz en una lista de objetos
- Mostrar la lista en el cuadro combinado para el usuario de elegir el puerto correcto
El paso uno es probablemente la parte más complicada. Vamos a definir una nueva clase para representar nuestros puertos serie. Este es el código para hacerlo:
public class Port { public string Name { get; set; } // defines a property called Name public int Value { get; set; } // defines a property called Value public Port(string n, int i) // A constructor to make adding ports easier { Name = n; Value = i; } }
Este bloque de código se puede Agregar en cualquier lugar dentro de "espacio de nombres MotorController" bloque en Form1.cs.
El segundo paso será rellenar una matriz de cadenas con los puertos serie disponibles este es el código para hacerlo:
string[] avalablePorts = SerialPort.GetPortNames();
Esto es muy simple, todo lo que hacemos es crear una nueva matriz de cuerdas llamado avalablePorts y rellenarlo con la función "SerialPort.GetPortNames()" . También tienes que añadir el namespace System.IO.Ports a su proyecto introduciendo "usando System.IO.Ports;" en la parte superior de su proyecto. Esto asegurará que el código tiene acceso a la librería de comunicaciones serie en windows.