Paso 11: Prueba el ComboBox
En este momento todo el código detrás debe verse algo como esto:
utilizando el sistema; utilizando System.Collections.Generic; utilizando System.ComponentModel; utilizando System.Data; utilizando System.Drawing; utilizando System.Linq; utilizar System.Text; utilizando System.Threading.Tasks; utilizando System.Windows.Forms; usando System.IO.Ports; Namespace MotorController {clase parcial MotorRemote: forma {//create puerto serie singleton SerialPort serie = nuevo SerialPort(); //declare una nueva clase que poblará nuestra clase combobox puerto {público string nombre {get; set;} int público valor {get; set;} puerto público (string n, int i) {nombre = n; Valor = i; }} público MotorRemote() {InitializeComponent();} privado void OnWindowLoad (objeto sender, EventArgs e) {//populate combobox con puertos serie disponibles 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; namespace MotorController { public partial class MotorRemote : Form { //create serial port singleton SerialPort serial = new SerialPort(); //declare a new class that will populate our combobox public class Port { public string Name { get; set; } public int Value { get; set; } public Port(string n, int i) { Name = n; Value = i; } } public MotorRemote() { InitializeComponent(); } private void OnWindowLoad(object sender, EventArgs e) { //populate combobox with available serial ports string[] avalablePorts = SerialPort.GetPortNames(); if (avalablePorts.Length > 0) { //create a list of objects to fill the combo box with List<Port> portsList = new List<Port>(); for (int i = 0; i < avalablePorts.Length; i++) { portsList.Add(new Port(avalablePorts[i], i)); } //populate the combo box with ports cbComPortChooser.DataSource = portsList; cbComPortChooser.DisplayMember = "Name"; cbComPortChooser.ValueMember = "Value"; } } } } Si (avalablePorts.Length > 0) {//create una lista de objetos para llenar el cuadro combinado de lista < puerto > portsList = nuevo () de la lista < puerto >; para (int i = 0; i < avalablePorts.Length; i ++) {portsList.Add (puerto nuevo (avalablePorts [i], i));} void UpdateMotors() { //message type constant const byte messageType = 2; }
y si ejecuta el programa de la lista desplegable en el cuadro combinado debería permitirle elegir los puertos serie disponibles. Si el menú desplegable aparece vacío Asegúrese de que su Tinyduino u otro dispositivo serie esté conectado y vuelva a iniciar la aplicación.