c# - 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;
}
.............................
解决方案
推荐阅读
- python - 需要帮助在国际象棋中移动棋子
- swift - 如何将 SwiftUI 视图设置为 CollectionView 的单元格
- excel - 使用小函数在 excel 2013 中返回两个重复值
- c++ - iOS const char* 到 std::string 并返回缺少第一个字符
- azure-devops - 没有代理注册或您无权查看代理
- html - Angular-Routing 在云中不起作用,但在 localhost
- c++ - 将函数模板转换为模板化函子
- android - 我正在尝试将我的 gradle 28 SDK 升级到 29,但它显示了这个错误
- javascript - 从文本或任何段落中查找日期
- arrays - 如何从问题库中的数组中提取测验应用程序的随机问题?迅速