.NET中的默认路径(例如,在Picturebox.Load()中)

本文关键字:Picturebox Load 例如 默认 路径 NET | 更新日期: 2023-09-27 17:58:33

当我运行SomePicturebox.Load("Foo.bmp")并且应用程序的启动文件夹中有一个Foo.bmp时,它将加载此图像。然而,我有一种情况,图像没有加载(即,当应用程序由安装程序启动时)。

现在我想知道:当路径不完全限定时,框架是否会搜索默认路径?如何在运行时显示此路径(以揭示在某些情况下未加载图像的原因)?

我试着查看Picturebox.ImageLocation属性,但它只显示"Foo.bmp",没有路径。

这与WinForms、.NET Framework 4有关。

非常欢迎使用C#和VB.NET的答案。

.NET中的默认路径(例如,在Picturebox.Load()中)

在VB.NET 中

Dim directory as String = My.Application.Info.DirectoryPath

在C#中

string directory = AppDomain.CurrentDomain.BaseDirectory;

我进行了测试,AlexC是正确的,我已经更新了这个答案。

获取路径当前值的最佳方法是使用System.IO.Directory.GetCurrentDirectory()

不过,与其处理这种模糊性,不如确保你完全符合路径。要获取系统上可以更改的路径,应该使用System.Environment.GetFolderPath调用。例如,如果您想要用户的文档文件夹:

var path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

如果你碰巧正在使用一个打开的文件对话框,下面是我经常发现有用的另一个调用:

var fullPath = System.IO.Path.GetFullPath(selectedFile);

System.IO.Path命名空间中还有许多其他例程可以帮助您确保文件名和路径名始终是完全限定的。希望这些帮助!

注意-我的答案在C#