C# 如何在OpenFileDialogBox C中设置文件根目录的路径#

C# 如何在OpenFileDialogBox C中设置文件根目录的路径#,c#,openfiledialog,C#,Openfiledialog,好吧,让我再解释一遍 我的问题是 我想显示图像。但是我希望这个没有opendialogfile 我试过这个: pictureBox1.Image = Image.FromFile("C:\\Users\\Abdullah\\Documents\\Visual Studio 2013\\Projects\\Maker\\Maker\\add.png");// it works 但我不想这样做,因为它会在部署时导致错误。我想做的是: pictureBox1.Image=Image.

好吧,让我再解释一遍 我的问题是 我想显示图像。但是我希望这个没有opendialogfile 我试过这个:

        pictureBox1.Image = Image.FromFile("C:\\Users\\Abdullah\\Documents\\Visual Studio 2013\\Projects\\Maker\\Maker\\add.png");// it works
但我不想这样做,因为它会在部署时导致错误。我想做的是:

pictureBox1.Image=Image.FromFile(“add.png”);//因为此图片已在项目文件夹中

在这种情况下,会显示找不到文件的错误
现在希望如此,我解释道:)

假设您正在对图像的路径进行硬编码,并且图像确实存在于该路径中,那么您应该记住在使用像这样的常量字符串时转义反斜杠

试一试

 pictureBox1.ImageLocation = @"C:\Users\Abdullah\Documents\Visual Studio 2013
                               \Projects\Maker\Maker\Resources\add.png";

(为了可读性,警告字符串被分成两行。它应该在一行上)

编辑: 根据您在下面的评论,似乎映像文件夹总是存在于您的项目中(也在将其部署到客户机器时),然后您可以编写如下内容

 pictureBox1.ImageLocation = Path.Combine(Application.StartupPath, "Images", "add.png");


但回顾一下您的示例:是图像还是资源?

很难理解这个问题。您始终可以从对话框中获取文件的完整路径。所以你的代码永远不会失败。像“图像”这样的路径是一条失败的鲸鱼,它完全依赖于环境。你能更好地解释一下你的问题是什么吗?现在设置InitialDirectory,这将是OpenFileDialog(如果存在)最初显示的路径。对于根部分,是否要提取用户选择的完整文件名的父文件夹?该图像通常在该位置不存在图像文件时显示。请检查。我真的很抱歉先生告诉你,它的工作,但我想消除之前的整个字符串。我只想写picturebox1.ImageLocation=“Images/add.png”,因为项目文件夹中存在Images文件夹,请参阅更新的答案。Path和Application类对于删除应用程序PictureBox1.ImageLocation=Path.Combine(Application.StartupPath,“Images”,“add.png”)中的硬编码路径非常有用;这可以工作,但不显示图像。它只是在表单上显示了一个十字符号(我想从“图像”文件夹中选择图像。是的,在此之前它在“资源”文件夹中,但现在我将它们切换到“图像”文件夹)对不起,我不知道该图像文件夹位于哪个位置。如果它是相对于当前启动文件夹的,那么上面的代码将在那里搜索add.png文件。如果您讨论的是映像的操作系统文件夹,则可以使用then Environment.SpecialFolder enum检索其路径
 pictureBox1.ImageLocation = Path.Combine(Application.StartupPath, "Images", "add.png");
string imageFile = Path.Combine(Application.StartupPath, "Images", "add.png");
pictureBox1.Image= Image.FromFile(imageFile);