【问题标题】:c# List items on a Form Deleting and Refreshing Them in a Rowc# 列出表单上的项目并连续删除和刷新它们
【发布时间】:2011-10-09 13:21:32
【问题描述】:

我有一个

 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();

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

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

【问题讨论】:

  • 尝试调用Form.ActiveForm.Refresh(),而不是Update()
  • @Val 你为CheckBox 使用了什么事件?你在用CheckedChanged吗?
  • 先生。 DDD 是的,我正在使用 CheckedChanged。

标签: c# winforms refresh


【解决方案1】:

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

【讨论】:

  • 现在阅读一些关于 FlowLayoutPanel 的资料。我会问我是否有任何问题。非常感谢。
猜你喜欢
  • 2017-08-02
  • 2019-08-16
  • 2021-10-01
  • 1970-01-01
  • 2023-01-25
  • 1970-01-01
  • 2014-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多