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();
但是,这不会改变位置。这样的代码的最佳方法是什么,以便在适当更新的位置重新绘制表单元素,一旦一行元素被删除?
我希望我清楚地解释了我的问题。
尝试使用FlowLayoutPanel,将MyController添加到正常的Panel控件中,然后将此Panel控件添加到FlowLayoutPanel控件中。当你想删除MyController时,也要删除正常的Panel控件,然后FlowLayoutPanel应该正确地重新安排剩余的控件。