0

我正在尝试执行以下操作:对于每个合同,GroupBox使用一些信息渲染 ​​a。

合同数量根据所选公司而变化。

我将如何完成这样的事情?我能够实现或找到帮助的唯一动态 GUI 元素是直接绑定到数据的 DataGridViews 之类的东西。

4

2 回答 2

0

没有太多的事情要做,但这是一个开始:

 for each c in Contracts
     Dim g as new GroupBox
     with g
         .Location = ...   ' needed else it could be off screen
         .Size = ...
     End With

     Dim Lbl as new Label 
     ... set location, text etc
     g.Controls.Add(lbl)
     ... continue for the stuff needed
     g.Controls.Add(otherstuff)

     ' depending on the amount of similarity you can make factories:
     Dim cbo as ComboBOx = MakeContactCBO(someKey)
     g.Controls.Add(cbo) 

     Me/theFormName.Controls.Add(g)            ' add g with all the child ctls
  next c

它可能会变得很长。如果它们有些相似,您可以在表单上已有几个,然后根据需要修改或隐藏它们。例如,为 80% 的情况服务的布局,然后删除并添加到该基础。

于 2013-11-08T23:01:07.583 回答
0

我正在寻找的是DataRepeater控件。这让我可以为列表中的每个实体编写一个“模板”,并为实体的数量重复它。

于 2013-12-11T21:21:01.203 回答