// 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.");
}
答案 0 :(得分:2)
只是一个猜测,但如果文本框字面显示:
“C:/Users/Admin/Desktop/apps/pic1.png”
然后你的路径中有引号,这很糟糕。在您的代码中,您使用引号来定义字符串,如果您从用户那里获取输入而不需要引号。
答案 1 :(得分:1)
两行都应该运行得很好,很明显,你的代码所做的并不是你正在做的思考。
我看到您使用文本框来检查变量的值?帮自己一个忙,学习:
Diagnostics.Trace.WriteLine()
和
如何使用调试器。
(最重要的是调试器。)然后,您将能够找出代码出了什么问题。因为你向我们展示了它,所以不可能找到任何错误。
- 哦,是的,请在下次发帖时告诉我们“它不起作用”,请告诉我们究竟以什么方式不起作用。它默默地无所作为吗?它会抛出异常吗?它是否加载了您所期望的图像以外的图像?它崩溃和燃烧吗?这有点必不可少。
答案 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”