首页 > 解决方案 > C# PictureBox Visible 属性导致 PictureBox 在 false 时为空

问题描述

我是 C# 新手,正在尝试编写一个小型记忆卡游戏。我有一个 TableLayouPanel,里面有 16 个图片框,每当我使图片框不可见时(当我设置游戏图像时),我的事件方法显示当点击图片框时我的图片框为空。

如果我在设置游戏时让图像可见,那么事件方法会将图片框视为非空。

请参阅下面的代码片段:

private void AssignIconsToSquare()
{
        foreach (Control control in gameIconTable.Controls)
        {
            PictureBox picture = control as PictureBox;
            if (picture != null)
            {
                int randomNumber = random.Next(symbols.Count);
                picture.Image = symbols[randomNumber];

                symbols.RemoveAt(randomNumber);
                picture.Visible = false;

                Console.WriteLine(picture == null); // this is false here
            }


        }
}


private void pictureClick(object sender, EventArgs e)
{
        PictureBox clickedImage = sender as PictureBox;
        Console.WriteLine(clickedImage == null); // this is true here

        if (clickedImage != null)  // does not get past this line
        {
        if (clickedImage.Visible == true)
        {
              return;
        }

        if (firstSymbolClicked.Visible == false)
        { 
           firstSymbolClicked.Visible = true;
            return;
        }

       .............................

标签: c#pictureboxvisible

解决方案


推荐阅读