代码之家  ›  专栏  ›  技术社区  ›  Greg

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

  •  0
  • Greg  · 技术社区  · 15 年前

    我想创建一个表来表示我拥有的数据,但是我希望每一行都有一个自定义的显示。我开发了一个小的自定义控件,它表示一行并包含一些项(文本框、复选框、进度条),但是我现在如何在主窗体中为我拥有的数据创建多个这样的实例呢?

    例如,是否有可用于执行此操作的WinForms控件?或者我需要一个面板或者其他什么东西,并且以编程的方式来做?

    我确实需要以某种方式收回回应。所以如果有人点击第四行的按钮,我需要知道它来自哪一行。

    作为一个旁白,这将是一种将上述数据可视化绑定到数据本身的方法,比如说封装在一个数组中?

    谢谢

    1 回复  |  直到 15 年前
        1
  •  3
  •   Joey Gumbo    15 年前

    我在这里看到两个选项:

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

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