C # PictureBox Visible Свойство заставляет PictureBox быть нулевым, когда ложь - PullRequest
0 голосов
/ 24 февраля 2019

Я новичок в 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;
        }

       .............................
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...