我有一个
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();
但是,这不会改变位置。在删除一行元素后,为了在正确更新的位置重绘表单元素,这种代码的最佳方法是什么?
我希望我明确地解释了我的问题。
答案 0 :(得分:0)
尝试使用FlowLayoutPanel,将MyController添加到普通的Panel控件中,然后将此Panel控件添加到FlowLayoutPanel控件。当你想删除MyController时,也要删除普通的Panel控件,然后FlowLayoutPanel应该正确地重新安排其余的控件。