c#在表单上列出项目,在一行中删除和刷新它们

本文关键字:一行 删除 刷新 表单 项目 | 更新日期: 2023-09-27 18:10:43

我有一个

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

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

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

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

I tried

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

但是,这不会改变位置。这样的代码的最佳方法是什么,以便在适当更新的位置重新绘制表单元素,一旦一行元素被删除?

我希望我清楚地解释了我的问题。

c#在表单上列出项目,在一行中删除和刷新它们

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