C# 如何使图像在不可见之前对用户可见?

C# 如何使图像在不可见之前对用户可见?,c#,winforms,C#,Winforms,我正在创建一个内存匹配游戏,到目前为止,我成功地使卡片翻转,但我试图做的是,当用户单击图像1时,它显示图像,然后用户单击图像2,此时发生的情况是,它们在显示图像2之前都变为不可见。重点是显示image1,然后显示image2比较它们的标记,如果它们匹配,则它们将不可见。 请举例说明如何做到这一点。 这是每个图片框的代码,我有12个图片框 private void picApple_Click(object sender, EventArgs e) { picApple.Image = Pro

我正在创建一个内存匹配游戏,到目前为止,我成功地使卡片翻转,但我试图做的是,当用户单击图像1时,它显示图像,然后用户单击图像2,此时发生的情况是,它们在显示图像2之前都变为不可见。重点是显示image1,然后显示image2比较它们的标记,如果它们匹配,则它们将不可见。 请举例说明如何做到这一点。 这是每个图片框的代码,我有12个图片框

private void picApple_Click(object sender, EventArgs e)
{
  picApple.Image = Properties.Resources.apple;
  if (uncoveredCard1 == null)
  {
    uncoveredCard1 = picApple;
  }
  else if (uncoveredCard1 != null && uncoveredCard2 == null)
  {
    uncoveredCard2 = picApple;
  }
  if (uncoveredCard1 != null && uncoveredCard2 != null)
  {
    if (uncoveredCard1.Tag == uncoveredCard2.Tag)
    {
      uncoveredCard1 = null;
      uncoveredCard2 = null;
      picApple.Visible = false;
      wrdApple.Visible = false;
    }
    else
    {
      showCard.Start();
    }
  }

您的条件不正确,存在的是
if
而不是
else if
,因此您的第二张卡获得了图片,然后立即隐藏

试试这个:

private void picApple_Click(object sender, EventArgs e)
{
  picApple.Image = Properties.Resources.apple;
  if (uncoveredCard1 == null)
  {
    uncoveredCard1 = picApple;
  }
  else if (uncoveredCard1 != null && uncoveredCard2 == null)
  {
    uncoveredCard2 = picApple;
  }
  else if (uncoveredCard1 != null && uncoveredCard2 != null)
  {
    if (uncoveredCard1.Tag == uncoveredCard2.Tag)
    {
      uncoveredCard1 = null;
      uncoveredCard2 = null;
      picApple.Visible = false;
      wrdApple.Visible = false;
    }
    else
    {
      showCard.Start();
    }
}

相同的基本问题,不同的day@WelcomeOverflow我会一直问,直到我弄明白怎么做,明白我所说的每一句话put@CutieLaftStackOverflow的目的不是帮助您理解您没有编写的代码或垃圾邮件问题。我相信你的问题已得到充分回答。阅读您使用的语言/技术文档,仔细分析您的问题和解决方案。祝你好运。想要学习和全面理解是件好事。但关键是有3个人提到你的应用程序正在泄漏资源——考虑到游戏的性质,这可能是非常糟糕的。两天后,问题依然存在。如果忽略你得到的建议,你不会学到很多。谢谢,我试过了,它确实起了作用,但结果是我单击了它显示的第一个图像,我单击了它显示的第二个图像,但是我必须再次单击以使它们不可见。你没有描述你问题的所有方面。把我的答案和LarsTech的答案结合起来,你的问题就解决了。我已经看到,如果你的卡不匹配,你会有问题。