WinForms - 如何使用每行的自定义控件创建表?

时间:2010-01-03 20:54:20

标签: winforms custom-controls

我想创建一个表示我拥有的数据的表,但我希望每一行都有自定义显示。我开发了一个代表一行的小自定义控件,其中有几个项目(文本框,复选框,进度条),但是我现在如何在主窗体中为我拥有的数据创建多个这样的实例? / p>

e.g。我可以使用winforms控件来执行此操作吗?或者我必须采取一个小组或其他东西并以编程方式进行?

我确实需要以某种方式回复。因此,如果有人点击第4行中的按钮,那么我就需要知道它来自哪一行。

顺便说一下,将上面提到的数据可视化与数据本身结合起来,比如把它放在数组中?

感谢

1 个答案:

答案 0 :(得分:3)

我在这里看到两个选项:

  • 您可以使用DataRepeater。可以在Microsoft Visual Basic Powerpack中找到此控件。它允许您将控件放在模板上,该模板将被复制到数据绑定集合中的每个项目。
  • 您可以创建自定义控件并为集合中的每个项目手动放置一个实例,为其中的控件重新创建数据绑定。这要求您公开公开控件或作为用户控件的属性。

但是,上述选项对非表格数据非常有用。如果您的布局是严格的表格(即网格中的矩形单元格),那么您可以创建一个自定义的DataGridViewCell,这需要一些时间来理解但不需要太多的代码。将进度条放入这样的单元格应该不会太难。