在vb.net项目中,我使用该方法确定加载表单中的文件夹存在:
If System.IO.Directory.Exists(Application.StartupPath & "\photo\") = False Then
(然后:如果文件夹“photo”不存在,表单会显示一个folderbrowserdialog,并且用户必须选择一个新的照片文件夹,并且工作正常,选择的路径会写入标签,但我想要改变初始路径(后来我想设置外部,也许从配置文本文件或一些灵活的变量路径读取)我不知道如何修改: Application.StartupPath& “\ photo \”方法的一部分 我试过了:
If System.IO.Directory.Exists(label2.text) = False Then
添加 Application.StartupPath& “\ photo \”作为文本,也作为 label2 的标签属性,但不起作用!! :(
注意:作为文字,label2不会显示& 符号,而是 _ 我想也许这就是问题...... 任何建议??
答案 0 :(得分:1)
一种相当简单的方法是在应用程序中创建一个设置。像这样。
在解决方案资源管理器中,右键单击解决方案名称。在上下文菜单的底部,点击_tprintf()
。这将打开一个新标签。
在新窗口的左侧,您会看到一个类别列表。点击Properties
在主要部分中,您将看到一个行和列的表。可能只有一行,但没关系。找到旁边有星号的行,然后单击名称列中的单元格。
现在,您可以键入要创建的设置的名称。要与以下代码匹配,请输入Settings
。
完成后,单击下一个单元格,然后选择要包含的数据类型。出于您的目的,您需要选择defaultPhotoPath
。此时,不要添加值,我们将使用一些代码来执行此操作。
关闭String
标签。
点击Properties
菜单,然后选择重建
确定。中途。
在你的程序中,你需要代码来检查我们创建的设置,如果它是空的,找到正确的文件夹,并将设置更改为正确的文件夹。
Build
因此。这样做是为了检查我们创建的设置的值,如果没有设置,检查“photo”目录是否在aplication文件夹中。如果没有,那么您应该使用您拥有的代码来选择目录并将其分配给Private Sub GetDefaultPhotoPath()
If My.Settings.defaultPhotoPath = "" Then
defaultPhotoPath = Path.Combine(Application.StartupPath, "photo")
If Not Directory.Exists(defaultPhotoPath) Then
Dim newDefaultDirectory As String = "get your correct directory path here"
defaultPhotoPath = Path.Combine(newDefaultDirectory, "photo")
My.Settings.defaultPhotoPath = newDefaultDirectory
My.Settings.Save()
End If
End If
End Sub
最后,它将值保存到settings属性中。下次运行时,它应该找到正确的文件夹而不进行任何交互。