1
// 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

4 回答 4

2

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

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

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

于 2012-01-12T02:28:56.520 回答
1

这两行都应该可以正常工作,因此很明显,您的代码所做的并不是您认为的。

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

  1. Diagnostics.Trace.WriteLine()

  2. 如何使用调试器。

(最重要的是调试器。)然后您将能够找出您的代码出了什么问题。因为从您向我们展示的情况来看,不可能发现它有什么问题。

--哦,是的,请下次您在这里发布一些内容告诉我们“它不起作用”时,请准确告诉我们它不起作用的原因。它会默默地什么都不做吗?它会抛出异常吗?它是否加载了您期望的图像以外的图像?它会崩溃和燃烧吗?这有点必要。

于 2012-01-12T02:16:21.673 回答
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);
于 2012-01-12T02:21:27.997 回答
0

你的斜线是错误的方式。尝试将其设为 Verbatim 字符串,即:

@"C:\Users\Admin\Desktop\apps\pic1.png"

于 2012-01-12T02:23:22.603 回答