Connessione al database con Visual Basic NET? Lo trovi su Opentraining.it Visual Basic Italia
Guide e Tutorials:indexed
Mostrare la CommonDialog 'Trova'
Naturalmente per le CommonDialog Apri, Salva, Stampa eccetera non esistono problemi. Che ne direste però di fornire all'utente la facoltà di cercare (e trovare!) un file all'interno del proprio disco fisso? Ecco che allora entra in gioco il metodo ShowFindDialog. Vediamocelo da vicino.
Per poter attivare la CommonDialog è necessario richiamare il metodo ShowFindDialog includendo una directory valida dalla quale partire. Nel caso in cui venga commesso un errore nell'inserimento della directory, la CommonDialog non verrà aperta, senza il classico messaggio d'errore.
Esiste però una seconda possibilità ossia quella di tralasciare il nome della directory in modo da utilizzare automaticamente la directory corrente (la cosiddetta App.Path). Adesso però cominciamo sul serio.
Apriamo un nuovo progetto. Apriamo un nuovo modulo denominato Module1.bas (lo standard di Visual Basic). Bisognerà inserire nel modulo la dichiarazione della funzione ShallExecute della quale tratteremo nelle prossime lezioni:

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd _
As Long) As Long

Fatto ciò inseriamo (sempre nel modulo Module1.bas) la costante:

Const SW_SHOW = 3

e così abbiamo terminato le dichiarazioni generali del modulo. Ecco allora come si mostra il nostro buon metodo ShowFindDialog:

Public Sub ShowFindDialog(Optional InitialDirectory As String)
ShellExecute 0, "find", IIf(InitialDirectory = "", "", InitialDirectory), vbNullString, vbNullString, SW_SHOW
End Sub

dove naturalmente InitialDirectory che è un parametro opzionale come vedremo tra pochissimo è la directory dalla quale partirà la ricerca attivata dall'utente. Nella funzione ShellExecute, find è il metodo da utilizzare con questa funzione, cioè si dice all'applicazione che si vuole procedere alla ricerca di files e cartelle. Se si provasse a sostituire find con open per esempio, al posto della CommonDialog 'Trova', il Browser individuerà la cartella indicata da InitialDirectory. In poche parole se avete impostato la cartella "C:\" come directory di partenza, il Browser visualizzerà la cartella "C:\" (risultato di dubbia utilità ai fini di questa lezione...).

Ma adesso è tempo di continuare...e di ritornare alla form precedentemente aperta. Per comodità non associamo l'apertura della CommonDialog alla pressione di alcun tasto (cosa che può essere fatta agevolmente trasferendo il richiamo al metodo ShowFindDialog ad una sottoprocedura del tipo Command1_Click),ma al caricamento della form stessa. Nella sottoprocedura Load allora inseriamo il richiamo al metodo appena visto:

Private Sub Form_Load()
Call ShowFindDialog(**InitialDirectory**)
End Sub

dove **InitialDirectory** è la directory di partenza (ad es: "C:\Documenti").
Detto questo il lavoro è terminato e la CommonDialog per magia apparirà all'apertura di questa semplice applicazione.

Alla prossima lezione. Ciao.