尝试从组框中删除控件时出现C#奇怪的错误

时间:2015-04-14 22:05:58

标签: c# controls groupbox removeall

我目前面临一个非常奇怪的问题。我只是想从组框中删除所有控件,但它不会删除所有控件。这似乎是微软现在的一个错误。我尝试了许多不同的删除这些控件的技术,但它们都没有奏效。我有两个其他方法,我一次只删除一个控件(不,我不能在所有控件的循环中调用它),并且它工作正常。我不知道问题是什么。希望有人知道解决这个问题。

foreach (Control c in fieldBox.Controls) // this does not work, it only removes my labels (I have one txt and one lbl)
                fieldBox.Controls.Remove(c);

            for (int i = 0; i < fieldBox.Controls.Count; i++) // this does not work either
                fieldBox.Controls.Remove(fieldBox.Controls[i]);

            for (int i = 0; i < fieldBox.Controls.Count; i++) // still no success
                fieldBox.Controls.RemoveAt(i);

            for (int i = 0; i < fieldBox.Controls.Count; i++) // nope
                fieldBox.Controls.RemoveByKey(fieldBox.Controls[i].Name);

            foreach (Control c in fieldBox.Controls) // my final answer, but the outcome did not change
                fieldBox.Controls.RemoveByKey(c.Name);

1 个答案:

答案 0 :(得分:2)

尝试减少计数器并删除控件

for (int i = fieldBox.Controls.Count - 1; i >= 0; i--) // hopefully successful
            fieldBox.Controls.RemoveAt(i);