Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法限制C#winforms中的文件夹浏览_C#_Winforms - Fatal编程技术网

有没有办法限制C#winforms中的文件夹浏览

有没有办法限制C#winforms中的文件夹浏览,c#,winforms,C#,Winforms,因此,我遵循并制作了一个文件浏览器,有没有办法限制人们在某个文件夹之外浏览,例如C:\folder\Folder2 您不能浏览文件夹2,也可以隐藏之前的零件,以便只显示文件夹名称(folder2) 我尝试在go按钮中使用if语句,所以 if(FilePathTxtBx.Contains(@"Folder2\")) { //continues navigation [...] } else { FilePathTxtBx.Text="&qu

因此,我遵循并制作了一个文件浏览器,有没有办法限制人们在某个文件夹之外浏览,例如C:\folder\Folder2
您不能浏览文件夹2,也可以隐藏之前的零件,以便只显示文件夹名称(folder2)

我尝试在go按钮中使用if语句,所以

if(FilePathTxtBx.Contains(@"Folder2\")) 
{
    //continues navigation
    [...]
}
else 
{
    FilePathTxtBx.Text="";
    MessageBox.Show("Error: File path not found");
}
虽然它可以正常工作,但是代码有很多缺陷,如果你在它外面创建一个目录,并且文件名为,它仍然会在那里导航


编辑:我已经根据评论中的建议编辑了代码,它可以正常工作。

解决方案:将if语句更改为Text.StartsWith,只需去掉C:[…]通过将文本替换为零。

如果您只想浏览内部
C:\Folder\Folder2
为什么不在您的If条件下使用整个路径并使用?If(FilePathTxtBx.text.StartWith(“C:\Folder\Folder2”))没有多大意义,因为用户可以浏览他们有权访问的文件系统上的任何内容。