【问题标题】:What's the simplest way to make a scrollable list of controls with labels?制作带有标签的可滚动控件列表的最简单方法是什么?
【发布时间】:2011-02-25 01:38:32
【问题描述】:

使用 C++/CLI 和 Windows 窗体,我试图创建一个简单的可滚动标签文本控件列表,作为显示某些数据字段的一种方式。我无法使 TableLayoutPanel 可滚动 - 我尝试过的每种属性组合似乎都会导致一些非常特殊的副作用。

所以我有两个问题:

  1. 这是最好的方法吗?
  2. 如果 是一种合理的方法,我应该对表格布局面板应用什么神奇的设置组合才能让它发挥作用?

【问题讨论】:

    标签: .net winforms user-interface c++-cli


    【解决方案1】:

    TLP 并非设计为可滚动的。你需要一个 FlowLayoutPanel。

    请注意,您通常会得到相当多的窗口,这会使您的程序非常缓慢。当您在一个表单中获得超过 50 个控件时,绘画会变得明显滞后。最好的解决方案是一个可以显示多个项目但只需要一个窗口句柄的控件。 ListBox、ListView with View = Details、DataGridView 是可以做到这一点的控件的好例子。他们还允许自定义绘画来调整他们的视图,以便您可以按照自己的方式获得它。

    【讨论】:

    • 有没有办法让标签和文本框成对流动?也许将每一对放在 TableLayoutPanel 中,然后将这些 TableLayoutPanel 放在 FlowLayoutPanel 中?
    • 为这样的复合控件创建一个 UserControl。这不是一个好的解决方案,它会很慢。在 Details 视图中使用 ListView 或 DataGridView。
    • +1/已接受:Listview 看起来像是经过几次实验后要走的路 - 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2011-03-29
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多