96 messaggi dal 01 novembre 2012
Buonasera,

non trovando nessun esempio in rete sono a chiedere un suggerimento.
Ho dei file salvati in una cartella e gradirei che siano visualizzati in ComboBox compreso l'estensione.

Anticipatamente ringrazio e fiducioso di una risoluzione, saluto.

Domenico
296 messaggi dal 08 gennaio 2011
Ciao, se siamo in WindowsForms può andare una cosa del genere :

 private void Form3_Load(object sender, EventArgs e)
        {
            // percorso o cartella
            string p = @"c:\Windows\";

            /* 
             ottiene i files contenuti nel percorso o cartella indicati
             in un array di stringhe
            */
            string[] lnf = System.IO.Directory.GetFiles(p);

            // Rimuove il percorso dal nome dei files
            for (int i = 0; i < lnf.Length; i++)
            {
                lnf[i] = lnf[i].Replace(p, "");
            }

            // collega l'array alla comboBox
            comboBox1.DataSource = lnf;
        }


Ciao.
96 messaggi dal 01 novembre 2012
Gent.mo Mario,

ringrazio della disponibilità funziona ed approfitto della gentilezza per poter inserire la prima riga al ComboBox vuota.

Ho inserito il seguente codice prima di popolare e non funziona:
> ComboBox1.Items.Add("");

Fiducioso, saluto.
Domenico.
296 messaggi dal 08 gennaio 2011
Ciao,
se lo scopo è avere nessun item selezionato, allora puoi aggiungere alla fine questo
 comboBox1.SelectedItem = null;
96 messaggi dal 01 novembre 2012
Gent.mo Mario,

ringrazio della gentilezza e pazienza e sono rammaricato che pur inserendo non funziona.
Lo scopo è di avere la prima riga vuota.
Riporto il codice con la preghiera di visionare.
ComboBox.Items.Clear();
 string p = @"C:\Users\User\Desktop\Copia\";
 string[] lnf = System.IO.Directory.GetFiles(p);       
 for (int i = 0; i < lnf.Length; i++)
 {
    lnf[i] = lnf[i].Replace(p, "");
 }           
 ComboBox.DataSource = lnf;
 //ComboBox.SelectedItem = null;

private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
  TextBox.Text = this.ComboBox.SelectedItem.ToString();
}

Mi scuso se approfitto ed auguro una buona giornata.
Domenico
296 messaggi dal 08 gennaio 2011
Questo problema dipende dal fatto che gli eventi di cambio item della ComboBox vengono scatenati anche durante la fase di caricamento, quando avvalori la proprietà DataSource.

Userei invece dell'evento SelectedIndexChanged l'evento TextChanged

Puoi per esempio rimuovere il gestore dell'evento prima del caricamento e poi riattivarlo.

/* collega l'array alla comboBox
               scollegando prima il gestore dell'evento
               TextChanged e riattivandolo
               dopo il caricamento
             */
            this.comboBox1.TextChanged   -= this.comboBox1_TextChanged;
            comboBox1.DataSource = lnf;
            comboBox1.SelectedItem = null;
            this.comboBox1.TextChanged += new System.EventHandler(this.comboBox1_TextChanged);




il gestore

private void comboBox1_TextChanged(object sender, EventArgs e)
        {
            textBox1.Text=comboBox1.Text;
        }


Ciao.
96 messaggi dal 01 novembre 2012
Gent.mo Mario,

ringrazio della gentilezza e tempestività Ok.

Domenico

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.