Pergunta

Estou fazendo um software que precisa ser apenas capazes permitir que as pessoas para selecionar arquivos e pastas usando o OpenFileDialog que estão no mesmo diretório do programa e que estão em pastas mais profundas. Eu não quero o OpenFileDialog para ser capaz de selecionar fora o material de diretório atual do programa. Isso é possível fazer em C # usando o OpenFileDialog?

Por favor me avise

Graças

Foi útil?

Solução

Você pode verificar se o caminho está correto após selecionado

se é apenas aceitar ou caixa de mensagem de envio dizer-lhe que seleccione diretório diferente

Outras dicas

Eu não vejo qualquer fora do suporte caixa pelo controle OpenFileDialog. No entanto, você pode tentar o seguinte,

Defina a propriedade InitialDirectory ao seu caminho de programa. Então, se um usuário seleciona um determinado fora caminho do caminho do programa, usar o evento FileOk para verificar isso e trazê-lo de volta para o InitialDirectory.

Se você quer muito mais controle, então você terá que escrever o seu diálogo personalizada.

Isto é como eu fiz isso.

   openFileDialog1.InitialDirectory = Path.Combine(Path.GetDirectoryName(Application.StartupPath), "FolderName");

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {            
                while(Path.GetDirectoryName(openFileDialog1.FileName) != Path.Combine(Path.GetDirectoryName(Application.StartupPath), "FolderName")){

                    MessageBox.Show("Please select .EXE which is in the default folder", "Wrong folder", MessageBoxButtons.OK, MessageBoxIcon.Information);
                openFileDialog1.ShowDialog();

            }                       
        }

Eu tenho medo que você não pode. A maioria das pessoas criaram seu próprio diálogo personalizada para este cenário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top