c#列出表单上的项目删除和刷新它们

时间:2011-10-09 13:21:33

标签: c# winforms refresh

我有一个

 List<MyController> _myController = new List<MyController>();

这个MyController对象类包含4个文本框和1个按钮以及1个复选框。

复选框的功能是删除整行并将其从MyController对象的List Array中删除。

当我单击复选框时,它会删除整行但我希望在我的表单上重绘整个单元格。

我试过

Form.ActiveForm.Controls.Clear();
 foreach(MyControls mcc in _myControls)
    {
 Form.ACtiveForm.Controls.Add(mcc.cb);    
 ....
       }

Form.ActiveForm.Update();

但是,这不会改变位置。在删除一行元素后,为了在正确更新的位置重绘表单元素,这种代码的最佳方法是什么?

我希望我明确地解释了我的问题。

1 个答案:

答案 0 :(得分:0)

尝试使用FlowLayoutPanel,将MyController添加到普通的Panel控件中,然后将此Panel控件添加到FlowLayoutPanel控件。当你想删除MyController时,也要删除普通的Panel控件,然后FlowLayoutPanel应该正确地重新安排其余的控件。