FileDialog Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Exibe uma caixa de diálogo da qual o usuário pode selecionar um arquivo.
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 a seguir usa a OpenFileDialog implementação e FileDialog ilustra a criação, a configuração das propriedades e a exibição da caixa de diálogo. O exemplo usa o ShowDialog método para exibir a caixa de diálogo e retornar o DialogResult. O exemplo requer um formulário com um Button colocado nele e o System.IO namespace 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
Comentários
FileDialogé uma classe abstrata que contém um comportamento comum para as classes e SaveFileDialog as OpenFileDialog classes. Ele não se destina a ser usado diretamente, mas contém um comportamento comum para essas duas classes. Você não pode criar uma instância de FileDialog. Embora a classe seja declarada pública, você não pode herdar dela, pois ela contém métodos abstratos internos. Para criar uma caixa de diálogo para selecionar ou salvar um arquivo, use OpenFileDialog ou SaveFileDialog.
FileDialog é uma caixa de diálogo modal; portanto, quando mostrado, ele bloqueia o restante do aplicativo até que o usuário tenha escolhido um arquivo. Quando uma caixa de diálogo é exibida modally, nenhuma entrada (teclado ou clique no mouse) pode ocorrer, exceto para objetos na caixa de diálogo. O programa deve ocultar ou fechar a caixa de diálogo (geralmente em resposta a alguma ação do usuário) antes que a entrada no programa de chamada possa ocorrer.
Cuidado
Quando você usa classes derivadas de FileDialog, como OpenFileDialog e SaveFileDialog, evite usar literais de cadeia de caracteres contendo caminhos absolutos. Em vez disso, obtenha dinamicamente o caminho usando uma ou mais das técnicas descritas na tabela a seguir.
Se você quiser permitir que os usuários selecionem uma pasta em vez de um arquivo, use o FolderBrowserDialog.
Dependendo do tipo de aplicativo, de como os dados associados ao aplicativo são armazenados e do motivo para acessar o sistema de arquivos, há muitas maneiras possíveis de criar um caminho de diretório. A tabela a seguir mostra as técnicas para criar caminhos dinamicamente.
| Categoria de caminho ou programa | Classe e membros a serem usados |
|---|---|
| Caminhos padrão do Windows, como Arquivos de Programas, MyDocuments, Área de Trabalho e assim por diante | A System.Environment classe é a fonte mais completa para elas, por meio de seus métodos estáticos, como SystemDirectory, ou por meio do GetFolderPath método, usando um dos Environment.SpecialFolder valores enumerados. |
| Caminhos relacionados ao aplicativo atual | A Application classe tem membros estáticos para obter determinados caminhos, como StartupPath, , ExecutablePathe LocalUserAppDataPathCommonAppDataPath. O GetTempPath método do System.IO.Path retorna o caminho da pasta temporária. O GetCurrentDirectory método da System.IO.Directory classe retorna o diretório de execução atual do aplicativo. A RootDirectory propriedade da DriveInfo classe representa o diretório raiz da unidade especificada. |
| Caminhos armazenados como configurações de aplicativo | Acesse a propriedade de configurações de aplicativos correspondente da classe wrapper derivada de ApplicationSettingsBase. Para obter mais informações, consulte Configurações do Aplicativo para Windows Forms. |
| Armazenamento do Registro | Alguns aplicativos armazenam informações de diretório no registro. A Application classe tem as propriedades e LocalUserAppDataPath que CommonAppDataPath resolvem para um RegistryKey valor. |
| Aplicativos ClickOnce | Para aplicativos ClickOnce, use Application membros de classe, como UserAppDataPath, que retornarão um ponteiro para o diretório de dados ClickOnce. Para obter mais informações, consulte Acessar dados locais e remotos em aplicativos ClickOnce. |
| Aplicativos internacionais | Para aplicativos internacionais, recupere a parte do caminho relativo de um recurso de cadeia de caracteres em seu aplicativo usando a System.Resources.ResourceReader classe. Para obter mais informações sobre globalização e localização, consulte o tópico Globalização e Localização. |
Observe que um caminho completo pode ser criado 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 e, em seguida, uma configuração de aplicativo pode ser usada para adicionar uma parte relativa do subdiretório.
A System.IO.Path classe contém membros estáticos para ajudar na manipulação de cadeias de caracteres de caminho absolutas e relativas, enquanto as classes e os System.IO.File membros System.IO.Directory estáticos que realmente manipulam arquivos e diretórios, respectivamente.
Importante
Se o usuário do seu aplicativo alterar a pasta no FileDialogdiretório de trabalho atual do aplicativo será definido como o local especificado no FileDialog. Para evitar isso, defina a RestoreDirectory propriedade como true.
Campos
| Nome | Description |
|---|---|
| EventFileOk |
Possui o FileOk evento. |
Propriedades
| Nome | Description |
|---|---|
| AddExtension |
Obtém ou define um valor que indica se a caixa de diálogo adiciona automaticamente uma extensão a um nome de arquivo se o usuário omite a extensão. |
| AddToRecent |
Obtém ou define um valor que indica se a caixa de diálogo adiciona o arquivo que está sendo aberto ou salvo à lista recente. |
| AutoUpgradeEnabled |
Obtém ou define um valor que indica se essa FileDialog instância deve atualizar automaticamente a aparência e o comportamento ao executar no Windows Vista. |
| CanRaiseEvents |
Obtém um valor que indica se o componente pode gerar um evento. (Herdado de Component) |
| CheckFileExists |
Obtém ou define um valor que indica se a caixa de diálogo exibe um aviso se o usuário especifica um nome de arquivo que não existe. |
| CheckPathExists |
Obtém ou define um valor que indica se a caixa de diálogo exibe um aviso se o usuário especifica um caminho que não existe. |
| ClientGuid |
Obtém ou define o GUID a ser associado a esse estado de caixa de diálogo. Normalmente, o estado, como a última pasta visitada e a posição e o tamanho da caixa de diálogo, é mantido com base no nome do arquivo executável. Ao especificar um GUID, um aplicativo pode ter estados persistentes diferentes para versões diferentes da caixa de diálogo no mesmo aplicativo (por exemplo, uma caixa de diálogo de importação e uma caixa de diálogo aberta). Essa funcionalidade não estará disponível se um aplicativo não estiver usando estilos visuais ou se AutoUpgradeEnabled estiver definido como |
| Container |
Obtém o IContainer que contém o Component. (Herdado de Component) |
| CustomPlaces |
Obtém a coleção de locais personalizados para essa FileDialog instância. |
| DefaultExt |
Obtém ou define a extensão de nome de arquivo padrão. |
| DereferenceLinks |
Obtém ou define um valor que indica se a caixa de diálogo retorna o local do arquivo referenciado pelo atalho ou se retorna o local do atalho (.lnk). |
| DesignMode |
Obtém um valor que indica se o Component está no modo de design no momento. (Herdado de Component) |
| Events |
Obtém a lista de manipuladores de eventos anexados a isso Component. (Herdado de Component) |
| FileName |
Obtém ou define uma cadeia de caracteres que contém o nome do arquivo selecionado na caixa de diálogo do arquivo. |
| FileNames |
Obtém os nomes de arquivo de todos os arquivos selecionados na caixa de diálogo. |
| Filter |
Obtém ou define a cadeia de caracteres de filtro de nome de arquivo atual, que determina as opções que aparecem na caixa "Salvar como tipo de arquivo" ou "Arquivos do tipo" na caixa de diálogo. |
| FilterIndex |
Obtém ou define o índice do filtro atualmente selecionado na caixa de diálogo do arquivo. |
| InitialDirectory |
Obtém ou define o diretório inicial exibido pela caixa de diálogo do arquivo. |
| Instance |
Obtém o identificador de instância do Win32 para o aplicativo. |
| OkRequiresInteraction |
Obtém ou define um valor que indica se o botão OK da caixa de diálogo está desabilitado até que o usuário navegue pela exibição ou edite o nome do arquivo (se aplicável). |
| Options |
Obtém valores para inicializar o FileDialog. |
| RestoreDirectory |
Obtém ou define um valor que indica se a caixa de diálogo restaura o diretório para o diretório selecionado anteriormente antes do fechamento. |
| ShowHelp |
Obtém ou define um valor que indica se o botão Ajuda é exibido na caixa de diálogo do arquivo. |
| ShowHiddenFiles |
Obtém ou define um valor que indica se a caixa de diálogo exibe arquivos ocultos e do sistema. |
| ShowPinnedPlaces |
Obtém ou define um valor que indica se os itens mostrados por padrão no painel de navegação do modo de exibição são mostrados. |
| Site |
Obtém ou define o ISiteComponent. (Herdado de Component) |
| SupportMultiDottedExtensions |
Obtém ou define se a caixa de diálogo dá suporte à exibição e ao salvamento de arquivos que têm várias extensões de nome de arquivo. |
| Tag |
Obtém ou define um objeto que contém dados sobre o controle. (Herdado de CommonDialog) |
| Title |
Obtém ou define o título da caixa de diálogo do arquivo. |
| ValidateNames |
Obtém ou define um valor que indica se a caixa de diálogo aceita apenas nomes de arquivo Win32 válidos. |
Métodos
| Nome | Description |
|---|---|
| CreateObjRef(Type) |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Dispose() |
Libera todos os recursos usados pelo Component. (Herdado de Component) |
| Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo Component e, opcionalmente, libera os recursos gerenciados. (Herdado de Component) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetLifetimeService() |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
| GetService(Type) |
Retorna um objeto que representa um serviço fornecido pelo Component ou por sua 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 de caixa de diálogo que é substituído para adicionar funcionalidade específica à caixa de diálogo do arquivo. |
| InitializeLifetimeService() |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| OnFileOk(CancelEventArgs) |
Aciona o evento FileOk. |
| OnHelpRequest(EventArgs) |
Aciona o evento HelpRequest. (Herdado de CommonDialog) |
| OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr) |
Define o procedimento de janela do proprietário substituído para adicionar funcionalidades específicas a uma caixa de diálogo comum. (Herdado de CommonDialog) |
| Reset() |
Redefine todas as propriedades para 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 de cadeia de caracteres deste objeto. |
Eventos
| Nome | Description |
|---|---|
| Disposed |
Ocorre quando o componente é descartado por uma chamada para o Dispose() método. (Herdado de Component) |
| FileOk |
Ocorre quando o usuário clica no botão Abrir ou Salvar em uma caixa de diálogo de arquivo. |
| HelpRequest |
Ocorre quando o usuário clica no botão Ajuda em uma caixa de diálogo comum. (Herdado de CommonDialog) |