Question

Je crée un logiciel qui doit UNIQUEMENT permettre aux utilisateurs de sélectionner des fichiers et des dossiers à l'aide d'OpenFileDialog qui se trouvent dans le même répertoire que le programme et qui se trouvent dans des dossiers plus profonds. Je ne veux pas que OpenFileDialog soit capable de sélectionner des éléments en dehors du répertoire actuel du programme. Est-ce possible de le faire en C # en utilisant OpenFileDialog?

Faites-le moi savoir

Merci

Était-ce utile?

La solution

vous pouvez vérifier si le chemin est correct après avoir été sélectionné

si sa boîte de message d'acceptation ou d'envoi vient lui indiquer que vous sélectionnez un autre répertoire

Autres conseils

Je ne vois aucune prise en charge immédiate du contrôle OpenFileDialog. Cependant, vous pouvez essayer ce qui suit,

Définissez la propriété InitialDirectory sur le chemin du programme. Ensuite, si un utilisateur sélectionne un chemin particulier en dehors du chemin de votre programme, utilisez l'événement FileOk pour le vérifier et le ramener à InitialDirectory.

Si vous voulez avoir beaucoup plus de contrôle, vous devrez écrire votre dialogue personnalisé.

Voici comment je l'ai fait.

   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();

            }                       
        }

J'ai bien peur que vous ne puissiez pas. La plupart des gens ont créé leur propre boîte de dialogue personnalisée pour ce scénario.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top