winforms listview - 使第一列始终可见?

时间:2011-04-21 08:22:53

标签: c# winforms listview

我有一个应用程序(winforms,c#)以一种非常常见的方式在Listview中显示数据 - 第一行是标题,每行中的第一列是标题,以下子项是数据本身。 / p>

我希望第一列(标题列)始终可见,水平滚动仅影响其他列。

我认为winforms listview不可能(我错了吗?)。因此,我正在考虑将列表视图拆分为两个列表视图 - 一个用于标题,第二个用于数据。在这种情况下,我需要连接垂直滚动条 - 这个任务我发现比我预期的更难。

我采取了错误的路径(例如,使用不同的控件会更容易)吗? 如果没有,关于如何实现它的任何指针?

注意:Winforms Listview的API很差(例如没有滚动事件)并且被称为buggy,所以我正在寻找一个工作样本而不是MSDN链接......

由于

3 个答案:

答案 0 :(得分:7)

正如已经提到的,DataGridView支持这种行为,但没有人告诉我们将如何做到这一点:

要启用此功能,只需设置列的Frozen属性即可。此How to: Freeze Columns in the Windows Forms DataGridView Control也可以找到更多信息。

答案 1 :(得分:1)

您是否尝试使用DataGridView

修改

如果您在设置行标题文本时遇到问题,请查看此post(基本上,在项目添加到网格时设置行标题文本)。

答案 2 :(得分:1)

我认为您必须尝试使用​​DatagridView而不是列表框。据我所知,DataGridView支持这一点。