Domanda

In un campo del percorso file, voglio acquisire il percorso della directory come:

textbox1.Text = directory path

Chiunque?

È stato utile?

Soluzione 2

Bene, sto usando VS 2008 SP1.Questo è tutto ciò di cui ho bisogno:

private void button1_Click(object sender, EventArgs e)
{
    FolderBrowserDialog profilePath = new FolderBrowserDialog();

    if (profilePath.ShowDialog() == DialogResult.OK)        
    {
        profilePathTextBox.Text = profilePath.SelectedPath;
    }
    else
    {
        profilePathTextBox.Text = "Please Specify The Profile Path";
    }
}

Altri suggerimenti

Esiste una classe FolderBrowserDialog che puoi utilizzare se desideri che l'utente selezioni una cartella.

http://msdn.microsoft.com/en-us/library/system.windows.forms.folderbrowserdialog.aspx

DialogResult result = folderBrowserDialog1.ShowDialog();
if (result.Equals(get_DialogResult().OK)) {
    textbox1.Text = folderBrowserDialog1.get_SelectedPath();
}

Se tutto ciò che desideri è ottenere la directory da un percorso completo, puoi farlo:

textbox1.Text = Path.GetDirectoryName(@"c:\windows\temp\myfile.txt");

Ciò imposterà la proprietà Text su "c:\windows emp\"

Se non vuoi una finestra di dialogo terribile e non facile da usare*, prova Ookii.Dialogs o vedere altre risposte a Come si configura un OpenFileDialog per selezionare le cartelle?.L'unico aspetto negativo che vedo in Ookii è che richiede .NET 4 Full, non solo il profilo client.Ma la fonte è inclusa nel download, quindi lavorerò su quello.Peccato che la licenza non sia LGPL o simili...

Guarda anche: Finestra di messaggio WinForms con pulsanti testuali

*Questo è l'aspetto di FolderBrowserDialog:

Ugly, unfriendly folder browser dialog

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top