从图片框数组中删除元素

时间:2014-04-07 16:01:22

标签: c# arrays

我有一系列图片框。在我的申请中,填写如下: enter image description here

我想删除(删除)特定行中的所有图像,例如:

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不同的图像?

2 个答案:

答案 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++;
}

尝试发布更多代码以获得更准确的答案。