Image.FromFile会打开一个路径,但不是包含相同路径的字符串?

时间:2012-01-12 02:10:09

标签: c# string image picturebox fromfile

// The following line works.
imagebox.Image = Image.FromFile("C:/Users/Admin/Desktop/apps/pic1.png");

// The following line does not work.
imagebox.Image = Image.FromFile(imgPath);

// the test Text Box displays "C:/Users/Admin/Desktop/apps/pic1.png", exactly like in the first line
test.Text = imgPath;

当我点击应该更改图片框图像的按钮时,我得到的错误基本上是路径中的非法字符 ArgumentException未处理

抱歉第一次不这样做。

k所以实际文件名输入到文本框中。然后我将该文本转换为字符串,并将其添加到begging和end以创建完整的文件路径。

string path = "\"C:/Users/Admin/Desktop/apps/";
string ext1 = ".png\"";


ID = idBox.Text;
imgPath = path + ID + ext1;
try
{
    imagebox.Image = Image.FromFile(imgPath);
}
catch (System.IO.FileNotFoundException)
{
    MessageBox.Show("Invalid Student or Faculty ID.");
}

4 个答案:

答案 0 :(得分:2)

只是一个猜测,但如果文本框字面显示:

  

“C:/Users/Admin/Desktop/apps/pic1.png”

然后你的路径中有引号,这很糟糕。在您的代码中,您使用引号来定义字符串,如果您从用户那里获取输入而不需要引号。

答案 1 :(得分:1)

两行都应该运行得很好,很明显,你的代码所做的并不是你正在做的思考

我看到您使用文本框来检查变量的值?帮自己一个忙,学习:

  1. Diagnostics.Trace.WriteLine()

  2. 如何使用调试器。

  3. (最重要的是调试器。)然后,您将能够找出代码出了什么问题。因为你向我们展示了它,所以不可能找到任何错误。

    - 哦,是的,请在下次发帖时告诉我们“它不起作用”,请告诉我们究竟以什么方式不起作用。它默默地无所作为吗?它会抛出异常吗?它是否加载了您所期望的图像以外的图像?它崩溃和燃烧吗?这有点必不可少。

答案 2 :(得分:0)

更改路径

string imgPath=@"c:\Users\Admin\Desktop\apps\pic1.png";

编辑:路径包含无效字符。

string path = @"C:\Users\Admin\Desktop\apps\";
string ext1 = ".png";
ID = idBox.Text;
imgPath = path + ID + ext1;
if(System.IO.File.Exists(imgPath))
   imagebox.Image = Image.FromFile(imgPath);

答案 3 :(得分:0)

你的斜杠是错误的方法。尝试将其作为逐字字符串,即:

@ “C:\用户\管理员\桌面\应用\ pic1.png”