Stap 11: Testen de ComboBox
Op dit punt de gehele code achter moet als volgt uitzien:
met behulp van systeem; met behulp van System.Collections.Generic; met behulp van System.ComponentModel; using System.Data; met behulp van System.Drawing; met behulp van System.Linq; met behulp van System.Text; met behulp van System.Threading.Tasks; met behulp van System.Windows.Forms; met behulp van System.IO.Ports; naamruimte MotorController {openbare gedeeltelijke klasse MotorRemote: formulier {//create seriële poort singleton SerialPort seriële = new SerialPort(); //Declareer een nieuwe klasse die onze combobox openbare klasse poort zal bevolken {openbare string naam {get; set;} openbare int waarde {get; set;} openbare poort (string n, int ik) {naam = n; Waarde = i; }} openbare MotorRemote() {InitializeComponent()}; private void OnWindowLoad (object afzender, EventArgs e) {//populate combobox met beschikbare seriële poorten 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"; } } } } Als (avalablePorts.Length > 0) {//create een lijst van objecten te vullen van de keuzelijst met invoervak met lijst < poort > portsList = nieuwe lijst < poort > (); voor (int i = 0; ik < avalablePorts.Length; i ++) {portsList.Add (nieuwe haven (avalablePorts [i], ik));} void UpdateMotors() { //message type constant const byte messageType = 2; }
en als u het programma uitvoert de DropDown op de ComboBox moet u te kiezen uit de beschikbare seriële poorten toestaan. Als de vervolgkeuzelijst leeg zorg ervoor dat uw Tinyduino of andere serieel apparaat is aangesloten en de applicatie opnieuw te starten.