Etape 11 : Tester ComboBox
À ce stade l’ensemble du code derrière devrait ressembler à ceci :
using System ; à l’aide de System.Collections.Generic ; à l’aide de System.ComponentModel ; using System.Data ; à l’aide de System.Drawing ; à l’aide de System.Linq ; using System.Text ; à l’aide de System.Threading.Tasks ; using System.Windows.Forms ; using System.IO.Ports ; namespace MotorController {partial public class MotorRemote : forme {//create port série singleton SerialPort série = new SerialPort() ; //declare une nouvelle classe qui remplira notre combobox public class Port {public string Name {get ; set;} public int Value {get ; set;} public Port (int n, chaîne j’ai) {nom = n ; Valeur = i ; {} public MotorRemote() {InitializeComponent();} ' private void OnWindowLoad (object sender, EventArgs e) {//populate combobox avec les ports série 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 une liste d’objets pour remplir la zone de liste déroulante avec liste < Port > portsList = gcnew List < Port > (); pour (int i = 0; j’ai < avalablePorts.Length; i ++) {portsList.Add (nouveau Port (avalablePorts [i], j’ai));} void UpdateMotors() { //message type constant const byte messageType = 2; }
et si vous exécutez le programme de la liste déroulante sur le contrôle ComboBox vous permettra de choisir parmi les ports série disponibles. Si le menu déroulant apparaît vide, assurez-vous que votre Tinyduino ou tout autre périphérique série est branché et relancer l’application.