FileDialog Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Muestra un cuadro de diálogo en el que el usuario puede seleccionar un archivo.
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
- Herencia
- Derivado
Ejemplos
En el ejemplo de código siguiente se usa la implementación de FileDialog y se muestra cómo OpenFileDialog crear, establecer propiedades y mostrar el cuadro de diálogo. En el ejemplo se usa el ShowDialog método para mostrar el cuadro de diálogo y devolver .DialogResult El ejemplo requiere un formulario con un Button colocado en él y el System.IO espacio de nombres agregado a él.
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
Comentarios
FileDialog es una clase abstracta que contiene un comportamiento común para las OpenFileDialog clases y SaveFileDialog . No está pensado para usarse directamente, pero contiene un comportamiento común para esas dos clases. No se puede crear una instancia de FileDialog. Aunque la clase se declara pública, no se puede heredar de ella, ya que contiene métodos abstractos internos. Para crear un cuadro de diálogo para seleccionar o guardar un archivo, use OpenFileDialog o SaveFileDialog.
FileDialog es un cuadro de diálogo modal; Por lo tanto, cuando se muestra, bloquea el resto de la aplicación hasta que el usuario haya elegido un archivo. Cuando se muestra un cuadro de diálogo de forma modal, no se puede producir ninguna entrada (teclado o clic del mouse), excepto en los objetos del cuadro de diálogo. El programa debe ocultar o cerrar el cuadro de diálogo (normalmente en respuesta a alguna acción del usuario) antes de que se pueda producir la entrada al programa que realiza la llamada.
Precaución
Cuando use clases derivadas de FileDialog, como OpenFileDialog y SaveFileDialog, evite usar literales de cadena que contengan rutas de acceso absolutas. En su lugar, obtenga dinámicamente la ruta de acceso mediante una o varias de las técnicas descritas en la tabla siguiente.
Si desea permitir que los usuarios seleccionen una carpeta en lugar de un archivo, use .FolderBrowserDialog
En función del tipo de aplicación, cómo se almacenan los datos asociados a la aplicación y el motivo del acceso al sistema de archivos, hay muchas maneras posibles de crear una ruta de acceso de directorio. En la tabla siguiente se muestran las técnicas para crear rutas de acceso dinámicamente.
Ruta de acceso o categoría de programa | Clase y miembros que se van a usar |
---|---|
Rutas de acceso estándar de Windows, como archivos de programa, MyDocuments, escritorio, etc. | La System.Environment clase es el origen más completo para estos, ya sea a través de sus métodos estáticos, como SystemDirectory, o a través del GetFolderPath método , mediante uno de los Environment.SpecialFolder valores enumerados. |
Rutas de acceso relacionadas con la aplicación actual | La Application clase tiene miembros estáticos para obtener determinadas rutas de acceso, como StartupPath, ExecutablePath, LocalUserAppDataPathy CommonAppDataPath. El GetTempPath método de System.IO.Path devuelve la ruta de acceso de la carpeta temporal. El GetCurrentDirectory método de la clase devuelve el directorio en ejecución actual de la System.IO.Directory aplicación. La RootDirectory propiedad de la DriveInfo clase representa el directorio raíz de la unidad especificada. |
Rutas de acceso almacenadas como configuración de la aplicación | Acceda a la propiedad de configuración de aplicaciones correspondiente de la clase contenedora derivada de ApplicationSettingsBase. Para obtener más información, consulte Configuración de la aplicación para Windows Forms. |
Almacenamiento del Registro | Algunas aplicaciones almacenan información de directorio en el Registro. La Application clase tiene las CommonAppDataPath propiedades y LocalUserAppDataPath que se resuelven en un RegistryKey valor. |
aplicaciones ClickOnce | Para las aplicaciones ClickOnce, use Application miembros de clase como UserAppDataPath, que devolverán un puntero al directorio de datos ClickOnce. Para obtener más información, vea Obtener acceso a datos locales y remotos en aplicaciones ClickOnce. |
Aplicaciones internacionales | Para las aplicaciones internacionales, recupere la parte de ruta de acceso relativa de un recurso de cadena en la aplicación mediante la System.Resources.ResourceReader clase . Para obtener más información sobre la globalización y la localización, consulte el tema Globalización y localización. |
Tenga en cuenta que se puede crear una ruta de acceso completa mediante una o varias de las técnicas descritas. Por ejemplo, el GetFolderPath método podría usarse para obtener la ruta de acceso a la carpeta MyDocuments y, a continuación, se puede usar una configuración de aplicación para agregar una parte relativa del subdirectorio.
La System.IO.Path clase contiene miembros estáticos para ayudar a manipular cadenas de ruta de acceso absolutas y relativas, mientras que las System.IO.File clases y System.IO.Directory tienen miembros estáticos que manipulan realmente archivos y directorios, respectivamente.
Importante
Si el usuario de la aplicación cambia la carpeta en FileDialog, el directorio de trabajo actual de la aplicación se establece en la ubicación especificada en .FileDialog Para evitar esto, establezca la RestoreDirectory propiedad true
en .
Campos
EventFileOk |
Contiene el evento FileOk. |
Propiedades
AddExtension |
Obtiene o establece un valor que indica si el cuadro de diálogo agrega automáticamente una extensión a un nombre de archivo en caso de que el usuario omita dicha extensión. |
AddToRecent |
Obtiene o establece un valor que indica si el cuadro de diálogo agrega el archivo que se abre o se guarda en la lista reciente. |
AutoUpgradeEnabled |
Obtiene o establece un valor que indica si esta FileDialog instancia debe actualizar automáticamente la apariencia y el comportamiento al ejecutarse en Windows Vista. |
CanRaiseEvents |
Obtiene un valor que indica si el componente puede generar un evento. (Heredado de Component) |
CheckFileExists |
Obtiene o establece un valor que indica si el cuadro de diálogo muestra una advertencia cuando el usuario especifica un nombre de archivo que no existe. |
CheckPathExists |
Obtiene o establece un valor que indica si el cuadro de diálogo muestra una advertencia cuando el usuario especifica una ruta de acceso que no existe. |
ClientGuid |
Obtiene o establece el GUID que se va a asociar a este estado de este cuadro de diálogo. Normalmente, el estado como la última carpeta visitada y la posición y el tamaño del cuadro de diálogo se conservan en función del nombre del archivo ejecutable. Al especificar un GUID, una aplicación puede tener distintos estados persistentes para las distintas versiones del cuadro de diálogo dentro de la misma aplicación (por ejemplo, un cuadro de diálogo de importación y un cuadro de diálogo abierto). Esta funcionalidad no está disponible si una aplicación no usa estilos visuales o si AutoUpgradeEnabled está establecido en |
Container |
Obtiene la interfaz IContainer que contiene la clase Component. (Heredado de Component) |
CustomPlaces |
Obtiene la colección de ubicaciones personalizadas de esta instancia de FileDialog. |
DefaultExt |
Obtiene o establece la extensión de nombre de archivo predeterminada. |
DereferenceLinks |
Obtiene o establece un valor que indica si el cuadro de diálogo devuelve la ubicación del archivo al que hace referencia el acceso directo o bien devuelve la ubicación del acceso directo (.lnk). |
DesignMode |
Obtiene un valor que indica si Component está actualmente en modo de diseño. (Heredado de Component) |
Events |
Obtiene la lista de controladores de eventos asociados a Component. (Heredado de Component) |
FileName |
Obtiene o establece una cadena que contiene el nombre de archivo seleccionado en el cuadro de diálogo de archivo. |
FileNames |
Obtiene los nombres de todos los archivos seleccionados en el cuadro de diálogo. |
Filter |
Obtiene o establece la cadena actual de filtro de nombres de archivo, que determina las opciones que aparecen en los cuadros "Guardar como archivo de tipo" o "Archivos de tipo" del cuadro de diálogo. |
FilterIndex |
Obtiene o establece el índice del filtro actualmente seleccionado en el cuadro de diálogo de archivo. |
InitialDirectory |
Obtiene o establece el directorio inicial que muestra el cuadro de diálogo de archivo. |
Instance |
Obtiene el identificador de instancia Win32 de la aplicación. |
OkRequiresInteraction |
Obtiene o establece un valor que indica si el botón Aceptar del cuadro de diálogo está deshabilitado hasta que el usuario navega por la vista o edita el nombre de archivo (si procede). |
Options |
Obtiene los valores para inicializar el objeto FileDialog. |
RestoreDirectory |
Obtiene o establece un valor que indica si el cuadro de diálogo restaura el directorio al directorio seleccionado previamente antes de cerrarse. |
ShowHelp |
Obtiene o establece un valor que indica si se muestra el botón Ayuda en el cuadro de diálogo de archivo. |
ShowHiddenFiles |
Obtiene o establece un valor que indica si el cuadro de diálogo muestra archivos ocultos y del sistema. |
ShowPinnedPlaces |
Obtiene o establece un valor que indica si se muestran los elementos mostrados de forma predeterminada en el panel de navegación de la vista. |
Site |
Obtiene o establece ISite de Component. (Heredado de Component) |
SupportMultiDottedExtensions |
Obtiene o establece si el cuadro de diálogo admite mostrar y guardar archivos que tienen varias extensiones de nombre de archivo. |
Tag |
Obtiene o establece un objeto que contiene datos sobre el control. (Heredado de CommonDialog) |
Title |
Obtiene o establece el título del cuadro de diálogo de archivo. |
ValidateNames |
Obtiene o establece un valor que indica si el cuadro de diálogo acepta solo nombres de archivo Win32 válidos. |
Métodos
CreateObjRef(Type) |
Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
Dispose() |
Libera todos los recursos que usa Component. (Heredado de Component) |
Dispose(Boolean) |
Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados. (Heredado de Component) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetService(Type) |
Devuelve un objeto que representa el servicio suministrado por Component o por Container. (Heredado de Component) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
HookProc(IntPtr, Int32, IntPtr, IntPtr) |
Define el procedimiento de enlace para cuadros de diálogo comunes que se reemplaza para agregar una funcionalidad específica a un cuadro de diálogo de archivo. |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
OnFileOk(CancelEventArgs) |
Genera el evento FileOk. |
OnHelpRequest(EventArgs) |
Genera el evento HelpRequest. (Heredado de CommonDialog) |
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr) |
Define el procedimiento de ventana propietaria que se reemplaza para agregar una funcionalidad específica a un cuadro de diálogo común. (Heredado de CommonDialog) |
Reset() |
Restablece los valores predeterminados de todas las propiedades. |
RunDialog(IntPtr) |
Especifica un cuadro de diálogo común. |
ShowDialog() |
Ejecuta un cuadro de diálogo común con un propietario predeterminado. (Heredado de CommonDialog) |
ShowDialog(IWin32Window) |
Ejecuta un cuadro de diálogo común con el propietario especificado. (Heredado de CommonDialog) |
ToString() |
Devuelve una versión de cadena de este objeto. |
Eventos
Disposed |
Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose(). (Heredado de Component) |
FileOk |
Se produce cuando el usuario hace clic en el botón Abrir o Guardar de un cuadro de diálogo de archivo. |
HelpRequest |
Se produce cuando el usuario hace clic en el botón Ayuda de un cuadro de diálogo común. (Heredado de CommonDialog) |