【问题标题】:Change the picture in picture box in C#在C#中更改图片框中的图片
【发布时间】:2012-09-30 10:21:41
【问题描述】:

我不确定我的错误是什么,但我告诉你它以前有效。我想根据用户的选择更改图片框中的图片。

我放的第一张图片在图片控制框中。我只是放了图片而不做代码。然后,当系统收到用户选择的值时,图片将变为第二张图片。

代码:

if (fheadValue == 101)
{                            
    Bitmap abc = (Bitmap)System.Drawing.Bitmap.FromFile
        ("C:\\Users\\HDAdmin\\Pictures\\humanbody\\MALE123\\images\\malebothandroid_01");
    pictureBox1.Image = abc;
}

在此之前,我只使用此代码,它确实更改为第二张图片。但现在,它不起作用。我不知道我的代码有什么问题。

然后我尝试使用此代码。

pictureBox1.Image = Image.FromFile("C:\\Users\\HDAdmin\\Pictures\\humanbody\\MALE123\\images\\malebothandroid_01");

但是,它仍然无法正常工作。伙计们,请帮我解决这个问题。它确实适用于以前的项目,但是当我将相同的方法应用于新项目时,它不会起作用。有没有我不注意的粗心错误..??

【问题讨论】:

  • 你确定你的图片路径不应该有文件扩展名吗?尝试将 .jpg 或 .png 添加到您的路径。所以像 ...images\\malebothandroid_01.jpg

标签: c# image picturebox


【解决方案1】:

刚刚注意到,您还没有设置图像的文件扩展名。你应该添加一个扩展。 无论是bmp,png,jpg..

编辑:同时调用pictureBox1.Invalidate()

Edit2: 至于 cmets,不需要调用 Invalidate()。

【讨论】:

  • 您不需要致电Invalidate,因此很可能是图片扩展造成了问题。
  • 谢谢你们。我很抱歉问这样一个愚蠢的问题。抱歉耽误您的时间。
  • @ChrisF 感谢您的亮点,您能解释一下为什么不需要调用 Invalidate 函数吗?我意识到只要我们需要重绘图片框,就应该调用该方法。
  • @idish - 好吧,我的应用程序中没有它,它工作得很好 - 虽然我在更改图像后确实调用了pictureBox.Focus(),所以也许效果相同。拨打Invalidate 肯定没错。我应该研究一下为什么我的应用程序没有它就可以工作,以防万一某个地方潜伏着一个错误。
猜你喜欢
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多