C# OpenFileDialog Lock To Directory

天大地大妈咪最大 提交于 2019-11-26 18:34:52

问题


I am making a software that needs to ONLY be able allow people to select files and folders using the OpenFileDialog that are in the same directory as the program and that are in deeper folders. I don't want the OpenFileDialog to be able to select stuff outside of the program's current directory. Is this possible to do in C# using the OpenFileDialog?

Please let me know

Thanks


回答1:


you can check if the path is correct after selected

if its just accept or send message box tell him you select different directory




回答2:


I don't see any out of the box support by the OpenFileDialog Control. However, you can try the following,

Set the InitialDirectory property to your program path. Then if a user selects a particular path outside of your program path, use the FileOk event to check this and bring him back to the InitialDirectory.

If you want much more control then you will have to write your custom dialog.




回答3:


This is how I did it.

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

            }                       
        }



回答4:


I'm afraid you can't. Most people created their own custom dialog for this scenario.



来源:https://stackoverflow.com/questions/1635846/c-sharp-openfiledialog-lock-to-directory

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!