Étape 9: Remplir le contrôle ComboBox (phases 1 et 2)
Afin de remplir la liste déroulante nous est classée première avec ports COM série disponibles, nous devons créer un événement qui est déclenché une fois que le formulaire est entièrement chargé. Pour faire cela il suffit de sélectionner la forme complète en cliquant directement sur elle, sur l’icône du petit éclairage dans le volet Propriétés. Cela va ouvrir les événements disponibles pour ce formulaire.
À côté de l’événement, intitulé type de charge le nom de gestionnaire d’événements. Dans ce cas, tapez "OnWindowLoad" et appuyez sur entrée. Visual studio va créer le gestionnaire d’événements dans le code-behind de notre projet et charger tout de suite.
Maintenant que nous avons notre formulaire conçu et le premier gestionnaire d’événements mis en place nous allons commencer à travailler sur le code pour remplir votre ComboBox.
La première étape consiste à remplir votre ComboBox avec les ports COM qui ont une série de connexions disponibles sur eux. Depuis le TinyDuino utilise serial pour communiquer avec notre ordinateur, cela devrait faciliter de trouver le bon port.
Pour ce faire, il faudra quatre étapes :
- Créez une classe pour contenir les ports série
- Remplir un tableau de chaînes avec les ports série disponibles
- Convertir ce tableau en une liste d’objets
- Afficher cette liste dans notre zone de liste déroulante pour l’utilisateur de choisir le bon port
La première étape est probablement la partie plus compliquée. Nous allons définir une nouvelle classe pour représenter nos ports série. C’est le code pour le faire :
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; } }
Ce bloc de code peut être ajouté n’importe où à l’intérieur du bloc « espace de noms MotorController » dans Form1.cs.
Deuxième étape nous remplira un tableau de chaînes avec les ports série disponibles, c’est le code pour le faire :
string[] avalablePorts = SerialPort.GetPortNames();
C’est très simple, tout ce que nous faisons est de créer un tableau de chaînes nommé avalablePorts et remplissez-la avec la fonction "SerialPort.GetPortNames()" . Vous voudrez également ajouter l’espace de noms System.IO.Ports à votre projet en entrant "using System.IO.Ports;" vers le haut de votre projet. Ceci garantira que votre code a accès à la bibliothèque de communication série dans windows.