FolderBrowserDialog desmascarada: tudo o que você queria saber sobre o componente a partir de pasta navegador. Net Framework
| by G. Himangi | November 22, 2008
Introdução
O FolderBrowserDialog, disponível como parte do. NET Framework, fornece um componente para seu navegador pasta C # e VB.Net aplicações. A interface de usuário consiste de um diálogo modal, que contém uma árvore de controlo exibindo todas as pastas e arquivos no sistema. O usuário pode navegar e, em seguida, selecione uma pasta da árvore. O caminho completo da pasta selecionada é então devolvido.
Uso Básico
Para exibir uma pasta explorer interface para o usuário, uma FolderBrowserDialog exemplo é a criados e ShowDialog método é chamado. Isso mostra o diálogo modal contendo a pasta controle de navegação (árvore) e um botão OK e Cancelar. Se o usuário seleciona uma pasta e clicar no botão OK, o ShowDialog método retorna DialogResult.OK e os SelectedPath propriedade contém o caminho completo da pasta selecionada. Se o usuário clicar no botão Cancel, o ShowDialog método retorna DialogResult.Cancel.
Uso Avançado
O FolderBrowserDialog tem algumas características adicionais, como a limitação do ponto de vista do sistema de arquivo que é exibida para o usuário, pré-selecionando uma pasta quando o primeiro diálogo é exibida e exibindo um botão para permitir ao usuário criar uma nova pasta.
O RootFolder propriedade pode ser configurada para o caminho completo da pasta que está a ser exibido como a raiz da árvore de comando da pasta navegador componente. Por exemplo, se essa propriedade é definida como Environment.SpecialFolder.Personal, só a partir de pastas' Meus Documentos' são exibidos na árvore, então o usuário só pode selecionar 'Meus Documentos' ou suas sub-pastas.
Antes de exibir a pasta navegador controle, o SelectedPath propriedade pode ser configurada para o caminho completo de uma pasta que provoca essa pasta a ser pré-seleccionadas para a pasta browser árvore. Por exemplo, quando essa propriedade é definida como "c:", o nó correspondente ao c: unidade é pré-selecionado na árvore quando a janela é exibida primeiro.
Se o ShowNewFolderButton propriedade é definida para true, então, para além da pasta navegador árvore controle, e os botões OK e Cancelar, a pasta navegador também exibe um diálogo adicional 'Nova Pasta' botão que, quando clicado, cria uma nova pasta sob a pasta actualmente seleccionada.
Limitações
Enquanto a pasta navegador componente são uma maneira de permitir que os usuários para navegar e seleccionar pastas, ela sofre com muitas limitações, algumas delas a partir de impedir a compõem sendo de uso prático em aplicações.
Modal Funcionalidade
O mais visível devolução da pasta navegador componente é que ele exibe sua IU, sob a forma de um diálogo modal. Quando mostrado, ele bloqueia o resto do pedido até que o usuário tenha escolhido uma pasta. Desde que o diálogo é exibida, nenhuma entrada (teclado ou mouse) pode ocorrer a não ser na caixa de diálogo. O usuário deve clicar no botão OK ou Cancelar antes de contributos para o programa chamando pode ocorrer.
Esta é uma característica muito desagradável e limitante da FolderBrowserDialog. Os usuários estão muito irritados e susceptível de ser incomodados quando têm de interagir com um diálogo modal cada vez que têm de explorar e selecione uma pasta. A não-modal da UI, cujo controlo pode ser colocado dentro de uma das aplicações ou os diálogos da própria formulários é muito mais user-friendly maneira de exibir a mesma interface.
N º Virtual (Não-file system) pastas
O FolderBrowserDialog não permite que o usuário selecione virtual (Non-file system) pastas, como o painel de controle ou meu computador. É só permite ao usuário selecionar um caminho de sistema de arquivo como "c:" ou "c: windows".
Sem arquivos
O componente não permite que o usuário selecione arquivos. Este é um grande inconveniente, porque há muitas situações onde o usuário pode precisar selecionar um arquivo enquanto ainda estiver usando a árvore da UI para navegar para esse arquivo.
Escolha limitada de RootFolder
A pasta raiz da pasta navegador controle só pode ser regulado para uma das "pastas especiais" definidas pelo Windows, como o 'Meus Documentos' ou' Meu Computador '. Esta é uma grande limitação, uma vez que este significa que você não pode definir a pasta raiz de um caminho como o "d:" drive.
N º caixas
A árvore da pasta explorer FolderBrowserDialog não pode mostrar caixas de seleção ao lado de nós. Capacidade para mostrar caixas de seleção multi-estatal pode ser um grande recurso para lidar com esse controle.
Filtragem n º
O FolderBrowserDialog não tem suporte para filtragem. Por exemplo, não é possível exibir apenas pastas de rede ou apenas as pastas compartilhadas ou apenas pastas iniciando com a seqüência "Documentos" ou arquivos com uma determinada extensão.
N º Custom Controls
Quando se utiliza a FolderBrowserDialog, você está apenas limitada ao efectivo controlo árvore pasta explorer, o OK, Cancelar e Nova Pasta botões e descrição do rótulo. Não é possível adicionar controles personalizados para a caixa de diálogo. Isto pode ser útil em muitas circunstâncias, como quando você quer mostrar uma miniatura / preview do selecionado arquivo / pasta ou qualquer tipo de informação adicional.
N. aparência controle
A aparência do seu constituinte FolderBrowserDialog e controles não pode ser mudado. Nem posso mostrar os atributos de pastas individuais na pasta explorer controle podem ser alteradas. Por exemplo, não é possível mudar a cor de fundo do controle árvore ou para definir o tipo de letra ea cor de cada um dos nodos / pastas da árvore.
N º itens personalizados
O display externo não pode FolderBrowserDialog / custom itens na pasta explorer árvore. Por exemplo, pode ser necessário para exibir itens de um local FTP para além dos elementos do sistema de arquivos. Isto não é possível com a FolderBrowserDialog.
N º Lockdown
O FolderBrowserDialog permite operações sem obstáculos em pastas. O usuário pode renomear pastas, fazer operações de arrastar e soltar exibir o menu de contexto e de invocar diversas operações. Em muitos casos, pode ser necessário limitar ou evitar completamente tais operações potencialmente perigosa e irreversível, porém o FolderBrowserDialog não fornece nenhuma forma de fazer isso.
Além do FolderBrowserDialog: o controle FolderView
O FolderView Controle traz uma pasta do Windows Explorer como navegador componente de seus aplicativos completos, com atualização automática, dragdrop, ícones contextmenus, sistema de arquivos não-itens, padrão-chave movimentação, infotips e renomeação. Caracteriza poderoso controlo comportamento e customização funcionalidade que ele tem milhas à frente do Windows Explorer, adicionando características como filtragem, caixas, itens personalizados, raiz múltiplos nodos, dragdrop controle ea personalização do padrão contextmenus, displaynames, ícones e infotips.
O FolderView controle é um controle da UI que pode ser retirado dentro de seu próprio direito formas e diálogos. A não-modal arquivo navegando & pasta / selecção direita dentro da sua própria experiência diálogos e formas é algo que os usuários irão apreciar e encontrar intuitiva e simples.
Por outro lado, FolderView supera todas as limitações da FolderBrowserDialog e proporciona muito maior e avançados recursos e funcionalidades do que o FolderBrowserDialog. A tabela que se segue é uma rápida comparação dos FolderView Controle com o FolderBrowserDialog.
Drop-In pasta do Windows Explorer como navegador funcionalidade.
FolderView controle: Sim
FolderBrowserDialog: Modal UI. O componente não pode ser retirado no próprio formulário.
Completa as funcionalidades do Windows Explorer incluem um arquivo / pasta navegando listview (semelhante ao Windows Explorer's do lado direito) e uma unidade de controlo seleção (semelhante à barra de endereços do Windows Explorer)
FolderView Control: sim. Como parte da Shell MegaPack
FolderBrowserDialog: Não
Capacidade para seleccionar virtual (Non-file system) pastas
FolderView controle: Sim
FolderBrowserDialog: Não
Capacidade de especificar todas e quaisquer pastas de raiz.
FolderView controle: Sim
FolderBrowserDialog: Não
Capacidade para mostrar arquivos assim como pastas.
FolderView controle: Sim
FolderBrowserDialog: Não
Multi-estado marcar caixas
FolderView controle: Sim
FolderBrowserDialog: Não
Capacidades de filtragem
FolderView controle: Sim
FolderBrowserDialog: Não
Controles personalizados
FolderView controle: Sim
FolderBrowserDialog: Não
Aspecto Controle
FolderView Control: Cores e aparência do controle como um todo e de cada uma das pastas / arquivos podem ser alterados.
FolderBrowserDialog: Não.
Custom Itens
FolderView controle: Sim
FolderBrowserDialog: Não
Impedir renomear, arrastar-soltar, menus contexto
FolderView Control: sim. Para todas as pastas ou em uma base per-pasta.
FolderBrowserDialog: Não
Várias pastas raiz
FolderView controle: Sim
FolderBrowserDialog: Não
Alterar padrão exibir nomes, ícones, sobreposição de ícones, InfoTip, etc
FolderView controle: Sim
FolderBrowserDialog: Não
Simples e fácil de usar a API
FolderView controle: Sim
Desajeitada, inflexível API
Acessar as informações completas de um arquivo / pasta, incluindo a sua exibição, fullpath, checkstate, seleção estadual e atributos como saber se é um atalho, compartilhada, escondida, readonly, arquivo e pasta.
FolderView controle: Sim
FolderBrowserDialog: Não
Contextmenus para impedir exibição de todas as pastas usando uma simples propriedade ou sobre uma base per-pasta usando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Dragdrop para impedir todas as pastas usando uma simples propriedade ou sobre uma base per-pasta usando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Permitir / disallow renomeando para todas as pastas usando uma simples propriedade ou sobre uma base per-pasta usando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Permitir / disallow seleção para todas as pastas usando uma simples propriedade ou sobre uma base per-pasta usando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Permitir / disallow expandir / colapsar em uma pasta per-base utilizando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Alterar padrão arraste durante dragdrop acções (por exemplo, a partir Copiar Para Mover)
FolderView controle: Sim
FolderBrowserDialog: Não
Controle testes / desmarcando-nos por uma pasta base.
FolderView controle: Sim
FolderBrowserDialog: Não
Impedir a execução de comandos shell padrão (por exemplo, Abrir, Cut, propriedades, etc, em resposta às teclas ou através do menu de contexto) para todas as pastas usando uma simples propriedade ou sobre uma base per-pasta usando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Mostrar / ocultar pastas ocultas usando uma simples propriedade.
FolderView controle: Sim
FolderBrowserDialog: Não
Mostrar / ocultar pastas virtuais (por exemplo, Painel de controle), utilizando uma simples propriedade.
FolderView controle: Sim
FolderBrowserDialog: Não
Enumerar todas as pastas mostradas na FolderView.
FolderView controle: Sim
FolderBrowserDialog: Não
Enumerar todas as pastas de acordo com a hierarquia pasta estrutura.
FolderView controle: Sim
FolderBrowserDialog: Não
Executar comandos da shell (por exemplo: Cortar, Apagar, etc) em pastas.
FolderView controle: Sim
FolderBrowserDialog: Não
Associado desenvolvedor com definida dados cada pasta
FolderView controle: Sim
FolderBrowserDialog: Não
O FolderView controle (e Shell MegaPack) está disponível em duas edições:
. Net Edition: Para utilização em. Net desenvolvimento utilizando o Windows Forms, wpf e ASP.Net
ActiveX Edition: Para uso em aplicações desenvolvidas utilizando o Visual C + + / MFC / ATL, Visual Basic 6, VBA (Access, Word, Excel, AutoCAD, etc), Borland Delphi e Borland Builder, e HTML / páginas ASP.
Artigo original: http://www.ssware.com/ar mework.htm ...
O FolderBrowserDialog, disponível como parte do. NET Framework, fornece um componente para seu navegador pasta C # e VB.Net aplicações. A interface de usuário consiste de um diálogo modal, que contém uma árvore de controlo exibindo todas as pastas e arquivos no sistema. O usuário pode navegar e, em seguida, selecione uma pasta da árvore. O caminho completo da pasta selecionada é então devolvido.
Uso Básico
Para exibir uma pasta explorer interface para o usuário, uma FolderBrowserDialog exemplo é a criados e ShowDialog método é chamado. Isso mostra o diálogo modal contendo a pasta controle de navegação (árvore) e um botão OK e Cancelar. Se o usuário seleciona uma pasta e clicar no botão OK, o ShowDialog método retorna DialogResult.OK e os SelectedPath propriedade contém o caminho completo da pasta selecionada. Se o usuário clicar no botão Cancel, o ShowDialog método retorna DialogResult.Cancel.
Uso Avançado
O FolderBrowserDialog tem algumas características adicionais, como a limitação do ponto de vista do sistema de arquivo que é exibida para o usuário, pré-selecionando uma pasta quando o primeiro diálogo é exibida e exibindo um botão para permitir ao usuário criar uma nova pasta.
O RootFolder propriedade pode ser configurada para o caminho completo da pasta que está a ser exibido como a raiz da árvore de comando da pasta navegador componente. Por exemplo, se essa propriedade é definida como Environment.SpecialFolder.Personal, só a partir de pastas' Meus Documentos' são exibidos na árvore, então o usuário só pode selecionar 'Meus Documentos' ou suas sub-pastas.
Antes de exibir a pasta navegador controle, o SelectedPath propriedade pode ser configurada para o caminho completo de uma pasta que provoca essa pasta a ser pré-seleccionadas para a pasta browser árvore. Por exemplo, quando essa propriedade é definida como "c:", o nó correspondente ao c: unidade é pré-selecionado na árvore quando a janela é exibida primeiro.
Se o ShowNewFolderButton propriedade é definida para true, então, para além da pasta navegador árvore controle, e os botões OK e Cancelar, a pasta navegador também exibe um diálogo adicional 'Nova Pasta' botão que, quando clicado, cria uma nova pasta sob a pasta actualmente seleccionada.
Limitações
Enquanto a pasta navegador componente são uma maneira de permitir que os usuários para navegar e seleccionar pastas, ela sofre com muitas limitações, algumas delas a partir de impedir a compõem sendo de uso prático em aplicações.
Modal Funcionalidade
O mais visível devolução da pasta navegador componente é que ele exibe sua IU, sob a forma de um diálogo modal. Quando mostrado, ele bloqueia o resto do pedido até que o usuário tenha escolhido uma pasta. Desde que o diálogo é exibida, nenhuma entrada (teclado ou mouse) pode ocorrer a não ser na caixa de diálogo. O usuário deve clicar no botão OK ou Cancelar antes de contributos para o programa chamando pode ocorrer.
Esta é uma característica muito desagradável e limitante da FolderBrowserDialog. Os usuários estão muito irritados e susceptível de ser incomodados quando têm de interagir com um diálogo modal cada vez que têm de explorar e selecione uma pasta. A não-modal da UI, cujo controlo pode ser colocado dentro de uma das aplicações ou os diálogos da própria formulários é muito mais user-friendly maneira de exibir a mesma interface.
N º Virtual (Não-file system) pastas
O FolderBrowserDialog não permite que o usuário selecione virtual (Non-file system) pastas, como o painel de controle ou meu computador. É só permite ao usuário selecionar um caminho de sistema de arquivo como "c:" ou "c: windows".
Sem arquivos
O componente não permite que o usuário selecione arquivos. Este é um grande inconveniente, porque há muitas situações onde o usuário pode precisar selecionar um arquivo enquanto ainda estiver usando a árvore da UI para navegar para esse arquivo.
Escolha limitada de RootFolder
A pasta raiz da pasta navegador controle só pode ser regulado para uma das "pastas especiais" definidas pelo Windows, como o 'Meus Documentos' ou' Meu Computador '. Esta é uma grande limitação, uma vez que este significa que você não pode definir a pasta raiz de um caminho como o "d:" drive.
N º caixas
A árvore da pasta explorer FolderBrowserDialog não pode mostrar caixas de seleção ao lado de nós. Capacidade para mostrar caixas de seleção multi-estatal pode ser um grande recurso para lidar com esse controle.
Filtragem n º
O FolderBrowserDialog não tem suporte para filtragem. Por exemplo, não é possível exibir apenas pastas de rede ou apenas as pastas compartilhadas ou apenas pastas iniciando com a seqüência "Documentos" ou arquivos com uma determinada extensão.
N º Custom Controls
Quando se utiliza a FolderBrowserDialog, você está apenas limitada ao efectivo controlo árvore pasta explorer, o OK, Cancelar e Nova Pasta botões e descrição do rótulo. Não é possível adicionar controles personalizados para a caixa de diálogo. Isto pode ser útil em muitas circunstâncias, como quando você quer mostrar uma miniatura / preview do selecionado arquivo / pasta ou qualquer tipo de informação adicional.
N. aparência controle
A aparência do seu constituinte FolderBrowserDialog e controles não pode ser mudado. Nem posso mostrar os atributos de pastas individuais na pasta explorer controle podem ser alteradas. Por exemplo, não é possível mudar a cor de fundo do controle árvore ou para definir o tipo de letra ea cor de cada um dos nodos / pastas da árvore.
N º itens personalizados
O display externo não pode FolderBrowserDialog / custom itens na pasta explorer árvore. Por exemplo, pode ser necessário para exibir itens de um local FTP para além dos elementos do sistema de arquivos. Isto não é possível com a FolderBrowserDialog.
N º Lockdown
O FolderBrowserDialog permite operações sem obstáculos em pastas. O usuário pode renomear pastas, fazer operações de arrastar e soltar exibir o menu de contexto e de invocar diversas operações. Em muitos casos, pode ser necessário limitar ou evitar completamente tais operações potencialmente perigosa e irreversível, porém o FolderBrowserDialog não fornece nenhuma forma de fazer isso.
Além do FolderBrowserDialog: o controle FolderView
O FolderView Controle traz uma pasta do Windows Explorer como navegador componente de seus aplicativos completos, com atualização automática, dragdrop, ícones contextmenus, sistema de arquivos não-itens, padrão-chave movimentação, infotips e renomeação. Caracteriza poderoso controlo comportamento e customização funcionalidade que ele tem milhas à frente do Windows Explorer, adicionando características como filtragem, caixas, itens personalizados, raiz múltiplos nodos, dragdrop controle ea personalização do padrão contextmenus, displaynames, ícones e infotips.
O FolderView controle é um controle da UI que pode ser retirado dentro de seu próprio direito formas e diálogos. A não-modal arquivo navegando & pasta / selecção direita dentro da sua própria experiência diálogos e formas é algo que os usuários irão apreciar e encontrar intuitiva e simples.
Por outro lado, FolderView supera todas as limitações da FolderBrowserDialog e proporciona muito maior e avançados recursos e funcionalidades do que o FolderBrowserDialog. A tabela que se segue é uma rápida comparação dos FolderView Controle com o FolderBrowserDialog.
Drop-In pasta do Windows Explorer como navegador funcionalidade.
FolderView controle: Sim
FolderBrowserDialog: Modal UI. O componente não pode ser retirado no próprio formulário.
Completa as funcionalidades do Windows Explorer incluem um arquivo / pasta navegando listview (semelhante ao Windows Explorer's do lado direito) e uma unidade de controlo seleção (semelhante à barra de endereços do Windows Explorer)
FolderView Control: sim. Como parte da Shell MegaPack
FolderBrowserDialog: Não
Capacidade para seleccionar virtual (Non-file system) pastas
FolderView controle: Sim
FolderBrowserDialog: Não
Capacidade de especificar todas e quaisquer pastas de raiz.
FolderView controle: Sim
FolderBrowserDialog: Não
Capacidade para mostrar arquivos assim como pastas.
FolderView controle: Sim
FolderBrowserDialog: Não
Multi-estado marcar caixas
FolderView controle: Sim
FolderBrowserDialog: Não
Capacidades de filtragem
FolderView controle: Sim
FolderBrowserDialog: Não
Controles personalizados
FolderView controle: Sim
FolderBrowserDialog: Não
Aspecto Controle
FolderView Control: Cores e aparência do controle como um todo e de cada uma das pastas / arquivos podem ser alterados.
FolderBrowserDialog: Não.
Custom Itens
FolderView controle: Sim
FolderBrowserDialog: Não
Impedir renomear, arrastar-soltar, menus contexto
FolderView Control: sim. Para todas as pastas ou em uma base per-pasta.
FolderBrowserDialog: Não
Várias pastas raiz
FolderView controle: Sim
FolderBrowserDialog: Não
Alterar padrão exibir nomes, ícones, sobreposição de ícones, InfoTip, etc
FolderView controle: Sim
FolderBrowserDialog: Não
Simples e fácil de usar a API
FolderView controle: Sim
Desajeitada, inflexível API
Acessar as informações completas de um arquivo / pasta, incluindo a sua exibição, fullpath, checkstate, seleção estadual e atributos como saber se é um atalho, compartilhada, escondida, readonly, arquivo e pasta.
FolderView controle: Sim
FolderBrowserDialog: Não
Contextmenus para impedir exibição de todas as pastas usando uma simples propriedade ou sobre uma base per-pasta usando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Dragdrop para impedir todas as pastas usando uma simples propriedade ou sobre uma base per-pasta usando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Permitir / disallow renomeando para todas as pastas usando uma simples propriedade ou sobre uma base per-pasta usando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Permitir / disallow seleção para todas as pastas usando uma simples propriedade ou sobre uma base per-pasta usando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Permitir / disallow expandir / colapsar em uma pasta per-base utilizando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Alterar padrão arraste durante dragdrop acções (por exemplo, a partir Copiar Para Mover)
FolderView controle: Sim
FolderBrowserDialog: Não
Controle testes / desmarcando-nos por uma pasta base.
FolderView controle: Sim
FolderBrowserDialog: Não
Impedir a execução de comandos shell padrão (por exemplo, Abrir, Cut, propriedades, etc, em resposta às teclas ou através do menu de contexto) para todas as pastas usando uma simples propriedade ou sobre uma base per-pasta usando um evento.
FolderView controle: Sim
FolderBrowserDialog: Não
Mostrar / ocultar pastas ocultas usando uma simples propriedade.
FolderView controle: Sim
FolderBrowserDialog: Não
Mostrar / ocultar pastas virtuais (por exemplo, Painel de controle), utilizando uma simples propriedade.
FolderView controle: Sim
FolderBrowserDialog: Não
Enumerar todas as pastas mostradas na FolderView.
FolderView controle: Sim
FolderBrowserDialog: Não
Enumerar todas as pastas de acordo com a hierarquia pasta estrutura.
FolderView controle: Sim
FolderBrowserDialog: Não
Executar comandos da shell (por exemplo: Cortar, Apagar, etc) em pastas.
FolderView controle: Sim
FolderBrowserDialog: Não
Associado desenvolvedor com definida dados cada pasta
FolderView controle: Sim
FolderBrowserDialog: Não
O FolderView controle (e Shell MegaPack) está disponível em duas edições:
. Net Edition: Para utilização em. Net desenvolvimento utilizando o Windows Forms, wpf e ASP.Net
ActiveX Edition: Para uso em aplicações desenvolvidas utilizando o Visual C + + / MFC / ATL, Visual Basic 6, VBA (Access, Word, Excel, AutoCAD, etc), Borland Delphi e Borland Builder, e HTML / páginas ASP.
Artigo original: http://www.ssware.com/ar mework.htm ...
Article Source: http://www.articleset.com

You are welcome to publish or reprint this article free of charge, provided:
- you include the entire article, unchanged, including the "About The Author" box
- all hyperlinks remain active, including the bottom ArticleSet.com link (does not apply to print publications)
- you agree not to hold the authors nor ArticleSet.com liable for any loss profits, expenses, or any other damages resulting from the use or misuse of articles published on this website