FileDialog Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Visualizza una finestra di dialogo in cui l'utente può selezionare un file.
public ref class FileDialog abstract : System::Windows::Forms::CommonDialog
public abstract class FileDialog : System.Windows.Forms.CommonDialog
type FileDialog = class
inherit CommonDialog
Public MustInherit Class FileDialog
Inherits CommonDialog
- Ereditarietà
- Derivato
Esempio
L'esempio di codice seguente usa l'implementazione di FileDialog e illustra la creazione, l'impostazione OpenFileDialog delle proprietà e la visualizzazione della finestra di dialogo. Nell'esempio viene usato il ShowDialog metodo per visualizzare la finestra di dialogo e restituire .DialogResult L'esempio richiede un modulo con un Button elemento posizionato su di esso e lo System.IO spazio dei nomi aggiunto.
private:
void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
Stream^ myStream;
OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;
openFileDialog1->InitialDirectory = "c:\\";
openFileDialog1->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog1->FilterIndex = 2;
openFileDialog1->RestoreDirectory = true;
if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
{
if ( (myStream = openFileDialog1->OpenFile()) != nullptr )
{
// Insert code to read the stream here.
myStream->Close();
}
}
}
var fileContent = string.Empty;
var filePath = string.Empty;
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
openFileDialog.InitialDirectory = "c:\\";
openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog.FilterIndex = 2;
openFileDialog.RestoreDirectory = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
//Get the path of specified file
filePath = openFileDialog.FileName;
//Read the contents of the file into a stream
var fileStream = openFileDialog.OpenFile();
using (StreamReader reader = new StreamReader(fileStream))
{
fileContent = reader.ReadToEnd();
}
}
}
MessageBox.Show(fileContent, "File Content at path: " + filePath, MessageBoxButtons.OK);
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim myStream As Stream = Nothing
Dim openFileDialog1 As New OpenFileDialog()
openFileDialog1.InitialDirectory = "c:\"
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
openFileDialog1.FilterIndex = 2
openFileDialog1.RestoreDirectory = True
If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Try
myStream = openFileDialog1.OpenFile()
If (myStream IsNot Nothing) Then
' Insert code to read the stream here.
End If
Catch Ex As Exception
MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
Finally
' Check this again, since we need to make sure we didn't throw an exception on open.
If (myStream IsNot Nothing) Then
myStream.Close()
End If
End Try
End If
End Sub
Commenti
FileDialog è una classe astratta che contiene un comportamento comune per le OpenFileDialog classi e SaveFileDialog . Non è destinato a essere usato direttamente, ma contiene un comportamento comune per queste due classi. Non è possibile creare un'istanza di FileDialog. Anche se la classe è dichiarata pubblica, non è possibile ereditarla, perché contiene metodi astratti interni. Per creare una finestra di dialogo per selezionare o salvare un file, usare OpenFileDialog o SaveFileDialog.
FileDialog è una finestra di dialogo modale; pertanto, quando visualizzato, blocca il resto dell'applicazione fino a quando l'utente non ha scelto un file. Quando viene visualizzata una finestra di dialogo modally, non può verificarsi alcun input (tastiera o clic del mouse) ad eccezione di oggetti nella finestra di dialogo. Il programma deve nascondere o chiudere la finestra di dialogo (in genere in risposta a un'azione dell'utente) prima che l'input al programma chiamante possa verificarsi.
Attenzione
Quando si usano classi derivate da FileDialog, ad esempio OpenFileDialog e SaveFileDialog, evitare di usare valori letterali stringa contenenti percorsi assoluti. Ottenere invece dinamicamente il percorso usando una o più delle tecniche descritte nella tabella seguente.
Se si vuole abilitare gli utenti per selezionare una cartella anziché un file, usare .FolderBrowserDialog
A seconda del tipo di applicazione, la modalità di archiviazione dei dati associati all'applicazione e il motivo per l'accesso al file system, esistono molti modi possibili in cui è possibile creare un percorso di directory. Nella tabella seguente vengono illustrate le tecniche per la creazione di percorsi in modo dinamico.
Categoria percorso o programma | Classe e membri da usare |
---|---|
Percorsi windows standard, ad esempio Programmi, MyDocuments, Desktop e così via | La System.Environment classe è l'origine più completa per queste, tramite i Environment.SpecialFolder relativi metodi statici, ad esempio SystemDirectory, o tramite il GetFolderPath metodo, usando uno dei valori enumerati. |
Percorsi correlati all'applicazione corrente | La Application classe dispone di membri statici per ottenere determinati percorsi, ad esempio StartupPath, ExecutablePath, LocalUserAppDataPathe CommonAppDataPath. Il metodo dell'oggetto GetTempPathSystem.IO.Path restituisce il percorso della cartella temporanea. Il GetCurrentDirectory metodo della System.IO.Directory classe restituisce la directory corrente in esecuzione dell'applicazione. La RootDirectory proprietà della DriveInfo classe rappresenta la directory radice dell'unità specificata. |
Percorsi archiviati come impostazioni dell'applicazione | Accedere alla proprietà delle impostazioni delle applicazioni corrispondenti della classe wrapper derivata da ApplicationSettingsBase. Per altre informazioni, vedere Impostazioni applicazione per Windows Forms. |
Archiviazione del Registro di sistema | Alcune applicazioni archiviano le informazioni sulla directory nel Registro di sistema. La Application classe ha le CommonAppDataPath proprietà e LocalUserAppDataPath che si risolvono in un RegistryKey valore. |
applicazioni ClickOnce | Per le applicazioni ClickOnce, usare Application membri della classe, UserAppDataPathad esempio , che restituiscono un puntatore alla directory dei dati ClickOnce. Per altre informazioni, vedere Accesso ai dati locali e remoti nelle applicazioni ClickOnce. |
Applicazioni internazionali | Per le applicazioni internazionali, recuperare la parte relativa del percorso da una risorsa stringa nell'applicazione usando la System.Resources.ResourceReader classe . Per altre informazioni sulla globalizzazione e la localizzazione, vedere l'argomento Globalizzazione e localizzazione. |
Si noti che è possibile creare un percorso completo usando una o più delle tecniche descritte. Ad esempio, è possibile usare il GetFolderPath metodo per ottenere il percorso della cartella MyDocuments, quindi è possibile usare un'impostazione dell'applicazione per aggiungere una parte relativa della sottodirectory.
La System.IO.Path classe contiene membri statici per facilitare la modifica di stringhe di percorso assoluto e relativo, mentre le System.IO.File classi e System.IO.Directory dispongono di membri statici che modificano effettivamente file e directory, rispettivamente.
Importante
Se l'utente dell'applicazione modifica la cartella in FileDialog, la directory di lavoro corrente per l'applicazione viene impostata sul percorso specificato in FileDialog. Per evitare questo problema, impostare la RestoreDirectory proprietà su true
.
Campi
EventFileOk |
Possiede l'evento FileOk. |
Proprietà
AddExtension |
Ottiene o imposta un valore che indica se la finestra di dialogo aggiunge automaticamente un'estensione a un nome di file quando l'utente non la specifica. |
AddToRecent |
Ottiene o imposta un valore che indica se la finestra di dialogo aggiunge il file aperto o salvato nell'elenco recente. |
AutoUpgradeEnabled |
Ottiene o imposta un valore che indica se questa istanza deve aggiornare automaticamente l'aspetto e il FileDialog comportamento durante l'esecuzione in Windows Vista. |
CanRaiseEvents |
Ottiene un valore che indica se il componente può generare un evento. (Ereditato da Component) |
CheckFileExists |
Ottiene o imposta un valore che indica se nella finestra di dialogo viene visualizzato un avviso quando l'utente specifica un nome di file inesistente. |
CheckPathExists |
Ottiene o imposta un valore che indica se nella finestra di dialogo viene visualizzato un avviso quando l'utente specifica un percorso inesistente. |
ClientGuid |
Ottiene o imposta il GUID da associare allo stato della finestra di dialogo. In genere, gli stati come l'ultima cartella visitata e la posizione e le dimensioni della finestra di dialogo vengono mantenuti in base al nome del file eseguibile. Specificando un GUID, un'applicazione può avere stati permanenti diversi per versioni diverse della finestra di dialogo all'interno della stessa applicazione, ad esempio una finestra di dialogo di importazione e una finestra di dialogo aperta. Questa funzionalità non è disponibile se un'applicazione non usa stili visivi o se AutoUpgradeEnabled è impostato su |
Container |
Ottiene l'oggetto IContainer che contiene Component. (Ereditato da Component) |
CustomPlaces |
Ottiene l’insieme delle posizioni personalizzate per questa istanza di FileDialog. |
DefaultExt |
Ottiene o imposta l'estensione di file predefinita. |
DereferenceLinks |
Ottiene o imposta un valore che indica se la finestra di dialogo restituisce il percorso del file cui fa riferimento il collegamento o se restituisce la posizione del collegamento (LNK). |
DesignMode |
Ottiene un valore che indica se il Component si trova in modalità progettazione. (Ereditato da Component) |
Events |
Ottiene l'elenco dei gestori eventi allegati a questo Component. (Ereditato da Component) |
FileName |
Ottiene o imposta una stringa che contiene il nome del file selezionato nella finestra di dialogo per la gestione dei file. |
FileNames |
Ottiene i nomi di tutti i file selezionati nella finestra di dialogo. |
Filter |
Ottiene o imposta la stringa filtro del nome file corrente, che determina le scelte visualizzate nelle casella relative al tipo di file nella finestra di dialogo. |
FilterIndex |
Ottiene o imposta l'indice del filtro attualmente selezionato nella finestra di dialogo per la gestione dei file. |
InitialDirectory |
Ottiene o imposta la directory iniziale visualizzata dalla finestra di dialogo per la gestione dei file. |
Instance |
Ottiene il punto di controllo dell'istanza Win32 per l'applicazione. |
OkRequiresInteraction |
Ottiene o imposta un valore che indica se il pulsante OK della finestra di dialogo è disabilitato fino a quando l'utente sposta la visualizzazione o modifica il nome file (se applicabile). |
Options |
Ottiene i valori per l'inizializzazione dell'oggetto FileDialog. |
RestoreDirectory |
Ottiene o imposta un valore che indica se la finestra di dialogo ripristina la directory precedentemente selezionata prima della chiusura. |
ShowHelp |
Ottiene o imposta un valore che indica se nella finestra di dialogo per la gestione dei file viene visualizzato il pulsante ?. |
ShowHiddenFiles |
Ottiene o imposta un valore che indica se la finestra di dialogo visualizza file nascosti e di sistema. |
ShowPinnedPlaces |
Ottiene o imposta un valore che indica se gli elementi visualizzati per impostazione predefinita nel riquadro di spostamento della vista vengono visualizzati. |
Site |
Ottiene o imposta l'oggetto ISite di Component. (Ereditato da Component) |
SupportMultiDottedExtensions |
Ottiene o imposta un valore che indica se la finestra di dialogo supporta la visualizzazione e il salvataggio di file con più estensioni. |
Tag |
Ottiene o imposta un oggetto che contiene i dati relativi al controllo. (Ereditato da CommonDialog) |
Title |
Ottiene o imposta il titolo della finestra di dialogo per la gestione dei file. |
ValidateNames |
Ottiene o imposta un valore che indica se la finestra di dialogo accetta soltanto nomi file Win32 validi. |
Metodi
CreateObjRef(Type) |
Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto. (Ereditato da MarshalByRefObject) |
Dispose() |
Rilascia tutte le risorse usate da Component. (Ereditato da Component) |
Dispose(Boolean) |
Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite. (Ereditato da Component) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetLifetimeService() |
Obsoleti.
Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza. (Ereditato da MarshalByRefObject) |
GetService(Type) |
Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container. (Ereditato da Component) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
HookProc(IntPtr, Int32, IntPtr, IntPtr) |
Definisce la routine di hook della finestra di dialogo comune di cui viene eseguito l'override per aggiungere funzionalità specifiche a una finestra di dialogo per la gestione dei file. |
InitializeLifetimeService() |
Obsoleti.
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
MemberwiseClone(Boolean) |
Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject) |
OnFileOk(CancelEventArgs) |
Genera l'evento FileOk. |
OnHelpRequest(EventArgs) |
Genera l'evento HelpRequest. (Ereditato da CommonDialog) |
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr) |
Definisce la routine della finestra proprietaria di cui viene eseguito l'override per aggiungere funzionalità specifiche a una finestra di dialogo comune. (Ereditato da CommonDialog) |
Reset() |
Reimposta tutte le proprietà sui valori predefiniti. |
RunDialog(IntPtr) |
Specifica una finestra di dialogo comune. |
ShowDialog() |
Esegue una finestra di dialogo comune con un proprietario predefinito. (Ereditato da CommonDialog) |
ShowDialog(IWin32Window) |
Esegue una finestra di dialogo comune con il proprietario specificato. (Ereditato da CommonDialog) |
ToString() |
Fornisce una versione in formato stringa dell'oggetto. |
Eventi
Disposed |
Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose(). (Ereditato da Component) |
FileOk |
Si verifica quando l'utente fa clic sul pulsante Apri o Salva in una finestra di dialogo per la gestione dei file. |
HelpRequest |
Si verifica quando l'utente fa clic sul pulsante della Guida in una finestra di dialogo comune. (Ereditato da CommonDialog) |