Remplire une combobox avec un tableau en C#

Prog2013 Messages postés 3 Date d'inscription lundi 14 octobre 2013 Statut Membre Dernière intervention 14 octobre 2013 - Modifié par Prog2013 le 14/10/2013 à 21:00
dodo7263 Messages postés 616 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 9 février 2017 - 14 oct. 2013 à 22:23
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

dodo7263 Messages postés 616 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 9 février 2017 6
14 oct. 2013 à 21:04
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;
    }
}


@++
1
Prog2013 Messages postés 3 Date d'inscription lundi 14 octobre 2013 Statut Membre Dernière intervention 14 octobre 2013
14 oct. 2013 à 21:20
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).
0
dodo7263 Messages postés 616 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 9 février 2017 6
14 oct. 2013 à 21:30
Alors j'ai pas testé mais essaye ça :
ComboBoxComPorts.ItemsSource = System.IO.Ports.SerialPort.GetPortNames();


@++
0
Prog2013 Messages postés 3 Date d'inscription lundi 14 octobre 2013 Statut Membre Dernière intervention 14 octobre 2013
14 oct. 2013 à 21:54
J'ai essayé mais cela génère une erreur.
0
dodo7263 Messages postés 616 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 9 février 2017 6
14 oct. 2013 à 22:23
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;


@++
0