C # OpenFileDialog Blocca nella directory
-
06-07-2019 - |
Domanda
Sto realizzando un software che deve SOLO consentire alle persone di selezionare file e cartelle usando OpenFileDialog che si trovano nella stessa directory del programma e che si trovano in cartelle più profonde. Non voglio che OpenFileDialog sia in grado di selezionare elementi al di fuori della directory corrente del programma. È possibile farlo in C # usando OpenFileDialog?
Per favore fatemi sapere
Grazie
Soluzione
puoi verificare se il percorso è corretto dopo aver selezionato
se è solo accetta o invia la finestra di messaggio digli che selezioni un'altra directory
Altri suggerimenti
Non vedo alcun supporto immediato dal controllo OpenFileDialog. Tuttavia, puoi provare quanto segue,
Imposta la proprietà InitialDirectory sul percorso del tuo programma. Quindi se un utente seleziona un percorso particolare al di fuori del percorso del programma, utilizzare l'evento FileOk per verificarlo e riportarlo alla InitialDirectory.
Se vuoi un maggiore controllo, dovrai scrivere la tua finestra di dialogo personalizzata.
Ecco come l'ho fatto.
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();
}
}
Temo che non puoi. La maggior parte delle persone ha creato una propria finestra di dialogo personalizzata per questo scenario.