繁体   English   中英

将控件嵌入列表/网格的最佳方法是什么

[英]What is the best way to embed controls in a list/grid

我有一个约450行的表格,希望将其显示在图形列表中,以供用户查看或修改订单项。 用户将是组合框中的选择选项,并选中复选框等。

我发现一个listview类扩展了基本的listview以允许嵌入对象,但是当我将所有行加载到其中时,它似乎有点迟钝。

过去,我曾将datagridview用于组合框和复选框,但是花了很多时间来启动和运行它……不是我的最爱。

我正在寻找建议如何以最小的开销做到这一点。

谢谢

c#,vs2008,.net 2.0,system.windows.forms

如果每一行都有一组复杂的控件,这是最简单的方法。 但是,它不会像列表框那样工作。 您将无法突出显示行或无法使用键盘进行导航。

  • 创建具有公共属性的用户控件以指向您的行
  • 在窗体上绘制一个面板-您将在运行时将“行”用户控件的实例添加到此面板。
  • 将面板设置为自动滚动(还设置属性以使活动控件滚动到视图中)
  • 设置面板的Anchor属性,使其具有窗口大小
  • 您可以设置表单的最大/最小尺寸属性,以便始终显示完整的usercontrol行(必须这样做以防止面板中出现水平滚动条)。
  • 有一个例程来添加行
  • 在循环中,创建新的用户控件,设置其属性,包括数据表中的行
  • 此外,将除添加的第一个属性之外的所有属性都设置为面板的.controls(pnl.controls.count-1)的.Top属性。

非常简单,允许复杂的“行”完成工作。 如果您想要类似列表框的功能而不自己编写代码,则有更好的方法来执行此操作,但是您可能不需要这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM