2011-04-21 136 views
6

我有一个应用程序(WinForms,C#),以非常常见的方式在Listview中显示数据 - 第一行是标题,每行的第一列是标题,以下子项是数据本身。winforms listview - 使第一列始终可见?

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

我不认为这是可能的winforms listview(我错了吗?)。因此,我想分割列表视图到两个listviews - 一个头和第二个数据。在这种情况下,我需要连接垂直滚动条 - 这是我发现比我预期的更困难的任务。

我在走错路(例如使用不同的控制器会更容易些)吗? 如果没有,关于如何实现它的任何指针?

注:列表视图的WinForms有API差(例如,没有滚动事件)而被称为越野车,于是我找工作的样品,而不是MSDN链接...

感谢

回答

7

如前所述DataGridView的支持这种行为,但没有人告诉这将如何做到:

要启用此功能,只需设置一个列的Frozen财产。更多信息也可以在此How to: Freeze Columns in the Windows Forms DataGridView Control中找到。

+0

ammm ...链接已死... – 2011-04-28 09:30:23

+0

是的,但只有几分钟(得到相同的错误信息)。但现在它再次像魅力一样运作。 (很奇怪)。为了使我在未来更容易,我将文章的全名替换为文章的全名。所以如果链接再次死亡,您可以更好地搜索它。 – Oliver 2011-04-28 09:33:43

+0

谢谢。我在答案中增加了另一个。 – 2011-04-28 09:36:42

1

你有没有尝试用DataGridView代替?

编辑:

在您运行与设置行标题的文字问题的情况下,看看这个post(基本上,你在设置项的行标题的文本被添加到网格)。

1

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