0

我正在开发一个显示自定义控件列表(每个都包含标签和复选框)的移动 2.0 项目。我想找到一种更好的方法来跟踪控制位置。

控件包含在可滚动面板中。

控件的层次结构基本上是这样的

Menu Type 1
  Menu Sub Type 1
    Menu Item 1
    Menu Item 2    
Menu Type 2
  Menu Sub Type 2
    Menu Item 3
    Menu Item 4

我最初添加它们的方式是panel.Controls.Add(controlToAdd)

并且每个后续控件的位置由前一个控件确定:

newControl.Top = lastControl.Bottom

这在初始加载时效果很好,但我现在需要能够添加/删除控件。我知道我可以

  • 找到我需要插入的地方
  • 设置新控件位置
  • 更改跟随它的所有控件的位置(偏移量基于新控件的高度)

但这似乎是一种“糟糕”的方式,因为如果控件总是在前面添加,那么后面的每个控件都需要更新。有没有办法更好地管理所有控件的位置以动态地轻松添加和删除?

4

0 回答 0