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