【问题标题】:Header control in WinForms - any such thing?WinForms 中的标题控件 - 有这样的东西吗?
【发布时间】:2008-10-27 21:07:49
【问题描述】:

我正在尝试使用 Windows 本机(主题感知)标题控件来仅显示一些列标题。主要目的是避免手动绘制列标题,依赖原生支持的功能。

所以我想到的两个选项是:

  1. 使用HeaderControl,并为其添加列(我似乎找不到 WinForms 支持的标题控件)。

  2. 使用ListView 控件,并告诉它不显示任何行(或基本上将其高度设置为列标题的高度) - 找不到任何方法来确定我应该为控件分配哪个高度.

非常感谢任何好的想法!

【问题讨论】:

    标签: c# winforms listview


    【解决方案1】:

    到目前为止,.NET 框架中没有用于 WinForms 的 HeaderControlListView 使用 ColumnHeader 类,但这仅对 ListView 有用)。如果您只针对 Microsoft Windows,则可以考虑包装 Win32 控件以在 .NET 中使用,尽管我预计这将是一项实质性工作。

    您的第二个选项是一个有效的可能性,即使它感觉有些笨拙。我可以看到使列表正确调整大小以使标题和只有标题可见时出现的困难。

    第三种选择是滚动您自己的代表一列的HeaderButton(如ColumnHeader)并使用主题绘图调用来绘制它,然后将它们组合到FlowLayoutPanelTableLayoutPanel 中标题栏。如果你想调整大小,你可以让HeaderButton 有一个抓取区域,你可以拾取它并改变它的宽度。

    我认为第三个选项创建起来相当简单,即使具有调整大小的能力,所以我建议采用这条路线(我什至可能会在今晚回家时自己尝试一下)。

    【讨论】:

      猜你喜欢
      • 2013-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 2011-01-24
      相关资源
      最近更新 更多