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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top