我有一系列图片框。在我的申请中,填写如下:
我想删除(删除)特定行中的所有图像,例如:
i = 0;
while(condition(i))
{
PB_ARRAY[line, i].Image = null;
panel4.Controls.Remove(PB_ARRAY[line, i]);
i++;
}
我试图通过以下方式替换条件(i):PB_ARRAY [line,i] .Image!= null;但它不起作用。它给了我一个空引用异常,因为它试图访问一个非引用的对象。
我该如何解决?是否有图片框的属性,您可以检查它是否有与null不同的图像?
答案 0 :(得分:1)
只需在调用PB_ARRAY[line, i].Image != null
之前添加测试,如下所示:
if (PB_ARRAY[line, i] != null && PB_ARRAY[line, i].Image != null)
//....
这可以保护您免受空引用异常的影响。
答案 1 :(得分:0)
尝试交换你的前两行,如下所示:
i = 0;
while(condition(i))
{
panel4.Controls.Remove(PB_ARRAY[line, i]);
PB_ARRAY[line, i].Image = null;
i++;
}
尝试发布更多代码以获得更准确的答案。