在运行时从标签中删除图像

时间:2012-07-21 07:17:48

标签: c# winforms label nullreferenceexception

在C#中,我有一个标签的二维数组,我想根据条件改变图像。更具体地说,我想让它在给定图像和完全没有图像(将其变成透明标签)之间切换,并在满足条件时再次返回。目前,为了再次清除标签,我正在使用:

someLabelArray[i][j].Image = null;

但是它总是抛出一个Null Reference Exception,这让我怀疑这不是“正确”的做事方式。或许我误解了这个错误?有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

我怀疑这绝对没问题 - 但是someLabelArray为空,或someLabelArray[i]对于您正在使用的i的任何值都为空。

测试此方法的简单方法:将代码更改为:

someLabelArray[i][j].Text = "foo";

这显然与图像无关,如果您的阵列没问题肯定会有效。我怀疑这会以同样的方式失败,在这种情况下你需要仔细查看你是如何构建你的数组的。

如果这个有效 - 那么,我会再看看:)