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

时间:2014-04-16 15:26:12

标签: c# vb.net winforms

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

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

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

这与WinForms,.NET Framework 4有关。

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

2 个答案:

答案 0 :(得分:1)

在VB.NET中

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

在C#中

string directory = AppDomain.CurrentDomain.BaseDirectory;

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

答案 1 :(得分:0)

获取路径当前值的最佳方法是使用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#