2011-04-21 135 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支持這一點。