C# OpenFileDialog Lock To Directory

后端 未结 4 1626
萌比男神i
萌比男神i 2020-12-04 01: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 ar

相关标签:
4条回答
  • 2020-12-04 02:10

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

    0 讨论(0)
  • 2020-12-04 02:15

    you can check if the path is correct after selected

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

    0 讨论(0)
  • 2020-12-04 02:27

    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();
    
                }                       
            }
    
    0 讨论(0)
  • 2020-12-04 02:29

    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.

    0 讨论(0)
提交回复
热议问题