C# Controls.Remove 和 Controls.Clear()

来源:互联网 发布:淘宝直通车代运营 编辑:程序博客网 时间:2024/06/15 18:04

通俗的讲,Controls.Remove 和 Controls.Clear()的主要差别在于,Controls.Remove 可以实现一个一个的删除控件,而 Controls.Clear()是将所有的控件一次性强制删除。

如果使用foreach方法,借助Controls.Remove,按理说也可以做到删除全部控件,即:

    foreach (Control mControl in this.panPic.Controls)            {                               this.panPic.Controls.Remove(mControl);                                }
这就是删除一个名为panPic的panel中的所有控件的方法。但是

今天在写使用我的一个自定义控件时遇到了一个问题:

当我想删除panel上的所有自定义控件时,如果使用Control.Remove方法来一个一个的删除时,可能会出现某些控件删除不了的情况。如果使用this.panPic.Controls.Clear();则可以将控件全部删除。所以得出的结论是:

如果想要全部删除所有控件,使用this.panPic.Controls.Clear();方法,而不是一个一个的用Controls.Remove删除掉。

原创粉丝点击