Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

I controlli DriveListBox, DirListBox e FileListBox

Per accedere ai dischi del sistema e visualizzare le loro informazioni useremo invece questi tre semplici controlli.
Per accedere ai dischi del sistema e visualizzare le loro informazioni useremo invece questi tre semplici controlli.
Link copiato negli appunti

I controlli DriveListBox (cerchiato in rosso), DirListBox (blu), FileListBox (verde), e consentono di accedere ai dischi installati nel sistema e alle informazioni in essi contenute. Di solito vengono utilizzati insieme, allo scopo di fornire un sistema di navigazione tra le risorse del sistema; grazie alle proprietà di cui dispongono, infatti, è semplice sincronizzare questi tre controlli.

figura

Il controllo DriveListBox (casella di riepilogo dei drive) visualizza le unità di memorizzazione presenti nel sistema (floppy, dischi rigidi, lettori di CD-ROM, ecc.). Per cambiare l'unità selezionata si usa la proprietà Drive, che può essere modificata solo da codice (cioè disponibile solo in fase di esecuzione):

Drive1.Drive = "D:"

Specificando una lettera di unità non valida o non disponibile, verrà generato un errore. Quando si modifica l'unità selezionata nel controllo, viene generato l'evento Change.
Il controllo DirListBox (casella di riepilogo delle directory) visualizza le cartelle presenti nell'unità selezionata; facendo doppio clic sul nome di una directory è possibile spostarsi al suo interno. La cartella corrente può essere modificata utilizzando la proprietà Path, che come la proprietà Drive del DriveListBox è disponibile solo in fase di esecuzione:

Dir1.Path = "C:Documenti"

Analogamente al DriveListBox, se si specifica una cartella non valida verrà generato un errore; la modifica della directory corrente genera l'evento Change.
Infine, il controllo FileListBox (casella di riepilogo dei file) visualizza i file che si trovano nella cartella corrente. Esso dispone di alcune proprietà che consentono di selezionare quali file visualizzare. Innanzi tutto, con la proprietà Pattern è possibile stabilire i nomi dei file visualizzati; è possibile utilizzare i caratteri jolly * e ? e, inoltre, si possono specificare più criteri separandoli con un punto e virgola (senza spazi tra un criterio e l'altro). Ad esempio, win*.exe restituirà l'elenco di tutti i file eseguibili il cui nome inizia con "win", mentre *.gif;*.jpg restituirà l'elenco di tutti i file GIF e di quelli JPG. Le proprietà Archive, Hidden, Normal, ReadOnly e System consentono di stabilire se il controllo FileListBox deve visualizzare file con gli attributi, rispettivamente, di Archivio, Nascosto, Normale, Sola lettura e File di sistema. Anche il controllo FileListBox dispone della proprietà Path, con la quale è possibile modificare la cartella di cui si vuole visualizzare il contenuto. Quando si seleziona un file viene generato l'evento Click; il nome del file corrente è conservato nella proprietà FileName del controllo FileListBox; ad esempio, se vogliamo che, quando si seleziona un file, venga visualizzata una finestra di messaggio contenente il nome del file stesso, basterà scrivere:

Private Sub File1_Click()
MsgBox File1.FileName
End Sub

Con un esempio cerchiamo ora di capire come si possono utilizzare insieme questi tre controlli; l'applicazione che vogliamo realizzare è un classico visualizzatore di immagini. Per questo avremo bisogno di un DriveListBox, un DirListBox, un FileListBox e un controllo Image; utilizzeremo anche alcune Label per rendere l'utilizzo dell'applicazione più immediato. Cominciamo innanzi tutto col costruire l'interfaccia del programma. Come di consueto, potete scaricare il form contenente solamente gli elementi dell'interfaccia nella giusta posizione, senza il codice.

Ricordando quanto detto prima, iniziamo a scrivere il codice. Selezionando una unità nel controllo DriveListBox viene generato l'evento Change, che dobbiamo utilizzare per aggiornare la proprietà Path del DirListBox, in modo che quest'ultimo visualizzi le cartelle dell'unità selezionata. Per raggiungere lo scopo è sufficiente scrivere:

Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub

Notate che, come abbiamo accennato all'inizio, selezionando una unità non disponibile verrà generato un messaggio di errore; tratteremo questo argomento nella lezione dedicata proprio alla gestione degli errori in VB. Ora dobbiamo collegare i controlli DirListBox e FileListBox, in modo che quest'ultimo visualizzi i file della cartella selezionata; l'evento che dobbiamo utilizzare è il Change del DirListBox:

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

Con queste semplici istruzioni abbiamo collegato tra loro i tre controlli; se volete verificarne il funzionamento, premete F5 e provate a navigare tra le risorse del sistema, selezionando unità e cartelle diverse. A questo punto dobbiamo ancora scrivere le istruzioni per visualizzare nell'ImageBox l'immagine selezionata; il codice necessario è questo:

Private Sub File1_Click()
Dim FileSelezionato As String

FileSelezionato = File1.Path & "" & File1.FileName
Image1.Picture = LoadPicture(FileSelezionato)
End Sub

Innanzi tutto dichiariamo una nuova variabile, di tipo String, in cui memorizzeremo il nome e il percorso completo del file selezionato; per fare questo, usiamo la proprietà Path di File1, ad essa aggiungiamo il carattere "" con l'operatore di concatenazione tra stringhe (&), e infine recuperiamo il nome del file con la proprietà FileName. L'ultima istruzione carica nel controllo Image1 il file dell'immagine che è stata selezionata.

L'applicazione è pronta: premete F5 e verificatene il corretto funzionamento. Per scaricare quanto abbiamo realizzato fate clic qui.

Ti consigliamo anche