C # OpenFileDialog Bloquear al directorio
-
06-07-2019 - |
Pregunta
Estoy creando un software que SOLO debe permitir que las personas seleccionen archivos y carpetas usando OpenFileDialog que están en el mismo directorio que el programa y que están en carpetas más profundas. No quiero que OpenFileDialog pueda seleccionar cosas fuera del directorio actual del programa. ¿Es esto posible en C # usando OpenFileDialog?
Por favor, hágamelo saber
Gracias
Solución
puede verificar si la ruta es correcta después de seleccionarla
si solo acepta o envía un cuadro de mensaje, dígale que seleccione un directorio diferente
Otros consejos
No veo ninguna compatibilidad inmediata con el control OpenFileDialog. Sin embargo, puede intentar lo siguiente,
Establezca la propiedad InitialDirectory en la ruta de su programa. Luego, si un usuario selecciona una ruta particular fuera de la ruta de su programa, use el evento FileOk para verificar esto y llevarlo de vuelta al InitialDirectory.
Si desea mucho más control, tendrá que escribir su diálogo personalizado.
Así es como lo hice.
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();
}
}
Me temo que no puedes. La mayoría de las personas crearon su propio cuadro de diálogo personalizado para este escenario.