9
votes

C # OpenFileDialog Verrouillage du répertoire

Je fais un logiciel qui doit seulement être capable permettre aux personnes de sélectionner des fichiers et des dossiers à l'aide de l'openFileDialog dans le même répertoire que le programme et qui sont dans des dossiers plus profonds. Je ne veux pas que l'OpenFileDioriog soit capable de sélectionner des trucs en dehors du répertoire actuel du programme. Est-ce que cela est possible de faire en C # à l'aide de l'OpenFileDialog?

S'il vous plaît laissez-moi savoir

merci


2 commentaires

Retentrés de 'OpenFileDialog Verrouillage de l'arborescence de répertoire'


Je sais que ces dialogues peuvent être remplacés et personnalisés .. Vérifiez ceci


4 Réponses :


1
votes

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.



2
votes

Je ne vois pas de la boîte hors de la boîte par le contrôle OpenFileDialogog. Cependant, vous pouvez essayer ce qui suit,

Définissez la propriété initialeDirectory sur votre chemin de programme. Ensuite, si un utilisateur sélectionne un chemin particulier en dehors de votre chemin de programme, utilisez l'événement FILLOOK pour vérifier cela et ramenez-le à l'initialeDirectory.

Si vous voulez beaucoup plus de contrôle, vous devrez écrire votre boîte de dialogue personnalisée.


0 commentaires

1
votes

Vous pouvez vérifier si le chemin est correct après la sélection de la sélection

Si c'est simplement accepter ou envoyer une boîte de message, dites-lui que vous sélectionnez Différent répertoire


0 commentaires

3
votes

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

            }                       
        }


0 commentaires