2010-05-07 12 views
5

Ho scritto una finestra di dialogo personalizzata (modulo) che posso usare in un programma C# che si comporta come un comando di menu "File - Apri" e apre una finestra dove l'utente può selezionare un file o una directory.Come si utilizza OpenFileDialog in C# in Visual Studio 2010

La domanda che ho è questa. Ha "Risorse del computer" come radice. Come posso averlo in modo che cerchi su una rete? Se il file o la directory si trova su una rete.

O meglio ancora, in Visual Studio 2010, c'è una sorta di FileOpenDialog in scatola che posso usare subito?

Ho provato a chiamare l'OpenFileDialog come descritto nel codice di esempio a http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx ma il compilatore non sembra come DialogResult.OK come utilizzato in questa riga di codice:

if(openFileDialog1.ShowDialog() == DialogResult.OK) 

Il compilatore dice:

Errore 1 'System.Nullable' non contiene una definizione per 'OK' e non è possibile trovare il metodo di estensione 'OK' che accetta un primo argomento di tipo 'System.Nullable' (manca una direttiva using o un n riferimento all'assemblaggio?)

Ho provato a utilizzare il namespace Microsoft.Win32 anziché System.Windows.Forms e nessuno dei due ha funzionato. Entrambi hanno prodotto questo errore.

risposta

9

Sembra che si sta tentando di utilizzare un (System.Windows.Forms) dialogo WinForms.
Questo è lo MSDN page for WPF dialog boxes dallo spazio dei nomi Microsoft.Win32.

Un estratto:

Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); 
dlg.FileName = "Document"; // Default file name 
dlg.DefaultExt = ".txt"; // Default file extension 
dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension 

// Show open file dialog box 
bool? result = dlg.ShowDialog(); 
2

MODIFICA: manca il tag WPF. Colpa mia. Cosa disse Henk Holterman.

Hai aggiunto lo spazio dei nomi che l'esempio ti dice di: System.IO?

Potrei sbagliarmi, ma suona come aver creato una variabile chiamata DialogResult che è di tipo System.Nullable

Problemi correlati