Uncategorized

FolderBrowser e directory iniziale

Spero che molti di voi siano d’accordo con me nell’aver accolto con grande felicità l’introduzione della classe FolderBrowserDialog nel .NET Framework 1.1.
La trovo una funzione utilissima in molti casi e mi sono sempre stupito di non vederla presente già fin dalla versione 1 del Framework.
Dopo averci giocato un po’, però devo dire che la documentazione su MSDN non è molto chiara. In particolare, non tutti hanno capito bene come si imposti una directory iniziale, a questo proposito ho scritto una semplice funzione da riutilizzare nei miei progetti, penso che possa interessare anche qualche lettore:

Function Browse(ByVal OriginalFolder As String) As String
Dim BrowseFolder As FolderBrowserDialog
BrowseFolder = New FolderBrowserDialog

With BrowseFolder
.RootFolder = Environment.SpecialFolder.Desktop
.SelectedPath = OriginalFolder
.ShowNewFolderButton = True
If .ShowDialog = DialogResult.OK Then
Return .SelectedPath
Else
Return OriginalFolder
End If
End With
End Function

La funzione si chiama passandogli la path della cartella da cui volete che la navigazione parta, la radice della finestra di dialogo è il Desktop, ma una volta completato il caricamento, la finestra visualizza la cartella passata come parametro. Come ultimo particolare, se l’utente conferma la casella, la funzione ritorna la cartella selezionata, annullando, invece si ottiene di nuovo la cartella iniziale. In questo modo, la funzione ritorna sempre una directory valida: in caso di annullamento il risultato è quella di partenza, ottenendo quindi l’effettivo annullamento della funzione di sfoglia.

Annunci
Standard

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...