永发信息网

flowLayoutPanel 为什么移除不了子控件,代码如下

答案:1  悬赏:50  手机版
解决时间 2021-02-10 23:55
  • 提问者网友:锁深秋
  • 2021-02-10 18:20
private void toolStripButton3_Click(object sender, EventArgs e)
{
PeiFangForm peifang = new PeiFangForm();
peifang.ShowDialog();

foreach (Control var in this.flowLayoutPanel1.Controls)
{
if (var is UCMeter)
{
// this.flowLayoutPanel1.Controls.Remove(var);
// this.Controls.RemoveAt(var.TabIndex);
// this.tabPage1.remo
}
}
getVF();
getdate();
}

this.flowLayoutPanel1.Controls.Remove(var);
this.Controls.RemoveAt(var.TabIndex);
最佳答案
  • 五星知识达人网友:人類模型
  • 2021-02-10 18:49
在foreach 循环中,不允许修改集合,这是规定
你可以改用for循环,但是要注意必须从后到前,不然可能导致超出索引范围
for(int i=this.flowLayoutPanel1.Controls.Count-1;i>=0;i--){
Control v = this.flowLayoutPanel1.Controls[i];
if(v is UCMeter){
this.flowLayoutPanel1.Controls.Remove(v);
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯