Remplire une combobox avec un tableau en C#

Signaler
Messages postés
3
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013
-
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
-
Bonjour à tous,

Je me demande comment remplir la "Collection" d'une combobox à partir de code C#. Exemple: Je veux détecter les ports série de mon ordinateur ( du moins ceux qui sont actifs) et les afficher dans une combobox ou listBox .

Avez vous une solution ou un autre moyen de stocker les ports actifs dans qq chose dans lequel on pourrait les selectionner après ?

J'ai commencer mais je bloque :

string[] ports = SerialPort.GetPortNames();

foreach (string nbports in ports)
{
comboBox1.AddItem = nbports; // Ne marche pas, mais c'est dans l'idée
}

Je vous remercie par avance.

2 réponses

Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
5
salut,

de ce que j'ai compris tu peux essayer un truc de ce style :

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.Load += Form1_Load;
    }

    void Form1_Load(object sender, EventArgs e)
    {
        var ports = SerialPort.GetPortNames();
        cmbSerialPorts.DataSource = ports;
    }
}


@++
Messages postés
3
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013

Salut dodo7263,

Oui c'est dans cet esprit là !

J'ai essayé ceci, mais les ports ne s'affichent pas dans la combobox, pourtant j'en ai qui sont branchés :

var ports = SerialPort.GetPortNames();
foreach (string port in ports)
{
comboBox1.DataSource = ports;
}

Je voudrais pouvoir consulté le résultat dans la combobox, exemple COM1, COM2, COM3 .... ( si COM 1 2 et 3 actif biensur).
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
5
Alors j'ai pas testé mais essaye ça :
ComboBoxComPorts.ItemsSource = System.IO.Ports.SerialPort.GetPortNames();


@++
Messages postés
3
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013

J'ai essayé mais cela génère une erreur.
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
5
Bon j'ai pas de ports série sur mon PC mais la suite devrait fonctionner au load de ta forme :
String[] ports = SerialPort.GetPortNames(); //fonction statique
foreach (String s in ports)
comboBox1.Items.Add(s);


sans oublier le
using System.IO.Ports;


@++