FolderBrowserDialog Passare il percorso della cartella

di il
4 risposte

FolderBrowserDialog Passare il percorso della cartella

Salve
premendo un pulsante, avrei bisogno di far aprire un cartella in particolare
ho utilizzato il seguente codice:


private void button1_Click(object sender, EventArgs e)
		{

			//if (cri.ShowDialog() == DialogResult.OK)
			//{
			//	pictureBox1.ImageLocation = cri.FileName;
			//}
			listFiles.Clear();
			listView1.Items.Clear();
			FolderBrowserDialog fdb = new FolderBrowserDialog();
			
			fdb.RootFolder = Environment.SpecialFolder.Desktop;
			{
				if (fdb.ShowDialog() == DialogResult.OK)
				{
					textBox5.Text = fdb.SelectedPath;
					foreach (string item in Directory.GetFiles(fdb.SelectedPath))

					{
						imageList1.Images.Add(System.Drawing.Icon.ExtractAssociatedIcon(item));
						FileInfo fi = new FileInfo(item);
						listFiles.Add(fi.FullName);
						listView1.Items.Add(fi.Name, imageList1.Images.Count - 1);
					}



				}
			}

		}


con
fdb.RootFolder = Environment.SpecialFolder.Desktop;

si apre la cartella del desktop,
ma se voglio passarci un percorso di rete ? cosa devo utilizzare?

Grazie saluti

4 Risposte

  • Re: FolderBrowserDialog Passare il percorso della cartella

    Passa direttamente la stringa, o puoi provare a mappare il percorso di rete.

    Comunque, con le path UNC la ExtractAssociatedIcon non funziona, la guida lo esplicita chiaramente nella sezione del sollevamento delle eccezioni.
  • Re: FolderBrowserDialog Passare il percorso della cartella

    Sgrubak ha scritto:


    Passa direttamente la stringa, o puoi provare a mappare il percorso di rete.
    Ho scritto una corbelleria, perdonami. Credo non si possa... Accetta solo valori di quella enumerazione e le enum non sono ereditabili. Ho fatto anche un tentativo impostando la SelectedPath, ma di nuovo non funziona. Vorrebbe comunque una path assoluta, che faccia riferimento alla RootFolder.
  • Re: FolderBrowserDialog Passare il percorso della cartella

    Ciao

    Ho guardato velocemente la documentazione Microsoft di quella classe e ti basta impostare la stringa SelectedPath.
    In pratica:
    • Quando si apre la finestra, rappresenta il path di apertura
    • Se è un percorso completo, allora apre direttamente quello
    • Se è un percorso relativo, allora viene considerato come relativo alla RootFolder
    Attento ad un'altra cosa: la classe implementa IDisposable, quindi ti conviene sempre metterla in un costrutto "using".
    Ho provato sul mio PC questo codice e funziona a dovere:
    
    
                using (var dialog = new FolderBrowserDialog())
                {
                    dialog.SelectedPath = @"\\server\cartella";
                    dialog.ShowDialog();
                }
    
  • Re: FolderBrowserDialog Passare il percorso della cartella

    Perfetto, provo.
    Grazie
Devi accedere o registrarti per scrivere nel forum
4 risposte