FileDialog Classe

Definição

Apresenta uma caixa de diálogo a partir da qual o utilizador pode selecionar um ficheiro.

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
Herança
Derivado

Exemplos

O exemplo de código seguinte utiliza a OpenFileDialog implementação e FileDialog ilustra a criação, definição de propriedades e a apresentação da caixa de diálogo. O exemplo usa o ShowDialog método para mostrar a caixa de diálogo e devolver o DialogResult. O exemplo requer um formulário com um colocado Button e o System.IO espaço de nomes adicionado a ele.

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

Observações

FileDialog é uma classe abstrata que contém comportamento comum para as OpenFileDialog classes e SaveFileDialog . Não é destinado a ser usado diretamente, mas contém comportamentos comuns para essas duas classes. Não pode criar uma instância de FileDialog. Embora a classe seja declarada pública, não podes herdar dela, pois contém métodos abstratos internos. Para criar uma caixa de diálogo para selecionar ou guardar um ficheiro, use OpenFileDialog ou SaveFileDialog.

FileDialog é uma caixa de diálogo modal; Portanto, quando mostrado, bloqueia o resto da aplicação até que o utilizador tenha escolhido um ficheiro. Quando uma caixa de diálogo é apresentada de forma modal, não pode ocorrer qualquer entrada (clique do teclado ou do rato) exceto para objetos na caixa de diálogo. O programa tem de esconder ou fechar a caixa de diálogo (normalmente em resposta a alguma ação do utilizador) antes que a entrada do programa que chama possa ocorrer.

Atenção

Quando usas classes derivadas de FileDialog, como OpenFileDialog e SaveFileDialog, evita usar literais de string que contenham caminhos absolutos. Em vez disso, obtém dinamicamente o caminho usando uma ou mais das técnicas descritas na tabela seguinte.

Se quiser permitir que os utilizadores selecionem uma pasta em vez de um ficheiro, use o FolderBrowserDialogarquivo .

Dependendo do tipo de aplicação, da forma como os dados associados à aplicação são armazenados e da razão para aceder ao sistema de ficheiros, existem muitas formas possíveis de criar um caminho de diretório. A tabela seguinte mostra as técnicas para criar caminhos de forma dinâmica.

Caminho ou categoria do programa Classe e membros a utilizar
Caminhos padrão do Windows, como Program Files, MyDocuments, o Ambiente de Trabalho e assim por diante A System.Environment classe é a fonte mais completa para estes, seja através dos seus métodos estáticos, como SystemDirectory, ou através do GetFolderPath método, usando um dos Environment.SpecialFolder valores enumerados.
Caminhos relacionados com a aplicação atual A Application classe tem elementos estáticos para obter certos caminhos, como StartupPath, ExecutablePath, LocalUserAppDataPath, e CommonAppDataPath.

O GetTempPath método do System.IO.Path devolve o caminho da pasta temporária.

O GetCurrentDirectory método da System.IO.Directory classe devolve o diretório atual em execução da aplicação.

A RootDirectory propriedade da DriveInfo classe representa o diretório raiz do disco especificado.
Caminhos armazenados como definições de aplicação Acede à propriedade correspondente de definições de aplicações da classe wrapper derivada de ApplicationSettingsBase. Para mais informações, consulte as Definições Application para Windows Forms.
Armazenamento de registo Algumas aplicações armazenam informação de diretórios no registo. A Application classe tem as CommonAppDataPath propriedades e LocalUserAppDataPath que resolvem para um RegistryKey valor.
Aplicações ClickOnce Para aplicações ClickOnce, use Application membros de classe como UserAppDataPath, que devolverá um ponteiro para o diretório de dados ClickOnce. Para mais informações, consulte Acesso a Dados Locais e Remotos em Aplicações ClickOnce.
Aplicações internacionais Para aplicações internacionais, recupere a parte do caminho relativo a partir de um recurso de string na sua aplicação usando a System.Resources.ResourceReader classe. Para mais informações sobre globalização e localização, consulte o tópico Globalização e Localização.

Note que um caminho completo pode ser construído usando uma ou mais das técnicas descritas. Por exemplo, o GetFolderPath método pode ser usado para obter o caminho para a pasta MyDocuments, depois pode ser usada uma configuração de aplicação para adicionar uma parte relativa do subdiretório.

A System.IO.Path classe contém elementos estáticos para ajudar na manipulação de cadeias de caminhos absolutas e relativas, enquanto as System.IO.File classes e System.IO.Directory têm membros estáticos que manipulam ficheiros e diretórios, respetivamente.

Importante

Se o utilizador da sua aplicação alterar a pasta no FileDialog, então o diretório de trabalho atual da sua aplicação é definido para a localização especificada no FileDialog. Para evitar isto, defina a RestoreDirectory propriedade para true.

Campos

Name Description
EventFileOk

É dono do FileOk evento.

Propriedades

Name Description
AddExtension

Recebe ou define um valor que indica se a caixa de diálogo adiciona automaticamente uma extensão a um nome de ficheiro caso o utilizador omita essa extensão.

AutoUpgradeEnabled

Recebe ou define um valor que indica se esta instância FileDialog deve atualizar automaticamente a aparência e o comportamento ao correr em Windows Vista.

CanRaiseEvents

Obtém um valor que indica se o componente pode gerar um evento.

(Herdado de Component)
CheckFileExists

Recebe ou define um valor que indica se a caixa de diálogo apresenta um aviso se o utilizador especificar um nome de ficheiro que não existe.

CheckPathExists

Recebe ou define um valor que indica se a caixa de diálogo apresenta um aviso se o utilizador especificar um caminho que não existe.

Container

Obtém o IContainer que contém o Component.

(Herdado de Component)
CustomPlaces

Recebe a coleção de lugares personalizados neste FileDialog caso.

DefaultExt

Obtém ou define a extensão padrão do nome do ficheiro.

DereferenceLinks

Recebe ou define um valor que indica se a caixa de diálogo devolve a localização do ficheiro referenciado pelo atalho ou se devolve a localização do atalho (.lnk).

DesignMode

Obtém um valor que indica se o Component está atualmente em modo de design.

(Herdado de Component)
Events

Obtém a lista de gestores de eventos que estão ligados a isto Component.

(Herdado de Component)
FileName

Obtém ou define uma string contendo o nome do ficheiro selecionado na caixa de diálogo do ficheiro.

FileNames

Obtém os nomes dos ficheiros de todos os ficheiros selecionados na caixa de diálogo.

Filter

Recebe ou define a cadeia de filtro do nome de ficheiro atual, que determina as opções que aparecem na caixa "Guardar como tipo de ficheiro" ou "Ficheiros do tipo" na caixa de diálogo.

FilterIndex

Obtém ou define o índice do filtro atualmente selecionado na caixa de diálogo do ficheiro.

InitialDirectory

Obtém ou define o diretório inicial apresentado pela caixa de diálogo do ficheiro.

Instance

Obtém o controlo da instância Win32 para a aplicação.

Options

Obtém valores para inicializar o FileDialog.

RestoreDirectory

Recebe ou define um valor que indica se a caixa de diálogo restaura o diretório para o diretório previamente selecionado antes de fechar.

ShowHelp

Recebe ou define um valor que indica se o botão Ajuda é exibido na caixa de diálogo do ficheiro.

Site

Obtém ou define o ISite do Component.

(Herdado de Component)
SupportMultiDottedExtensions

Obtém ou define se a caixa de diálogo suporta mostrar e guardar ficheiros com múltiplas extensões de nomes de ficheiro.

Tag

Obtém ou define um objeto que contém dados sobre o controlo.

(Herdado de CommonDialog)
Title

Recebe ou define o título da caixa de diálogo do ficheiro.

ValidateNames

Recebe ou define um valor que indica se a caixa de diálogo aceita apenas nomes válidos de ficheiros Win32.

Métodos

Name Description
CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Liberta todos os recursos utilizados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo Component e opcionalmente liberta os recursos geridos.

(Herdado de Component)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetService(Type)

Devolve um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
HookProc(IntPtr, Int32, IntPtr, IntPtr)

Define o procedimento comum de gancho da caixa de diálogo que é sobreposto para adicionar funcionalidades específicas à caixa de diálogo do ficheiro.

InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
OnFileOk(CancelEventArgs)

Eleva o FileOk evento.

OnHelpRequest(EventArgs)

Eleva o HelpRequest evento.

(Herdado de CommonDialog)
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr)

Define o procedimento da janela proprietária que é sobreposto para adicionar funcionalidades específicas a uma caixa de diálogo comum.

(Herdado de CommonDialog)
Reset()

Reinicia todas as propriedades para os seus valores padrão.

RunDialog(IntPtr)

Especifica uma caixa de diálogo comum.

ShowDialog()

Executa uma caixa de diálogo comum com um proprietário padrão.

(Herdado de CommonDialog)
ShowDialog(IWin32Window)

Executa uma caixa de diálogo comum com o proprietário especificado.

(Herdado de CommonDialog)
ToString()

Fornece uma versão string deste objeto.

evento

Name Description
Disposed

Ocorre quando o componente é eliminado por uma chamada ao Dispose() método.

(Herdado de Component)
FileOk

Ocorre quando o utilizador clica no botão Abrir ou Guardar numa caixa de diálogo de ficheiros.

HelpRequest

Ocorre quando o utilizador clica no botão Ajuda numa caixa de diálogo comum.

(Herdado de CommonDialog)

Aplica-se a

Ver também