我的png文件没有显示在我的图片框中

时间:2015-04-16 15:10:39

标签: c#

我希望在我的图片框中显示图像,但是当我运行代码时,除了图像没有显示外,其他所有内容都有效。以下是相关代码:

Image[] deadWoman = new Image[5]; //this array will hold the images of bit and pieces of katie

deadWoman[0] = Image.FromFile("F:/Jers Hangman Game/Jers Hangman Game/Resources/katie-hopkins.jpeg");


private void MainPic_Paint(object sender, PaintEventArgs e)
{
    Graphics katie = e.Graphics; // creates a graphics object for the picture box

    if (numWrongGuesses > 0)
    {
        e.Graphics.DrawImage(deadWoman[0], 20, 20,60,60);
    }
}

2 个答案:

答案 0 :(得分:2)

我想图片永远不会重新粉饰,这就是为什么在更新numWrongGuesses时你不会看到它的原因。您应该Invalidate() PictureBox才能看到更新。

我建议设置图像,只需使用Visible = trueVisible = false进行显示和隐藏。如果您需要创建一些叠加效果,甚至可以设置BackgroundImage

答案 1 :(得分:0)

您不能覆盖Paint,以便将Image对象放入PictureBox。只需使用该属性:

MainPic.Image = deadWoman[0];

只要Image是资源,您也可以在WinForms设计器中执行此操作。

此外,您可以通过.Visible属性隐藏和显示图像:

MainPic.Visible = numWrongGuesses > 0;