2011-03-24 47 views
2

我想要創建的是列表視圖,它將自行調整大小以顯示所有項目。通常我會使用AutoSize,但這不會在這裏工作。任何其他選項我如何使ListView展開和縮小以適合所有?ListView自動調整大小以顯示所有項目

+1

很難做到,尤其是View = Details,因爲沒有簡單的方法可以找出列標題有多高。讓用戶根據自己的喜好調整表單的大小,確保列表視圖像她一樣調整大小。 – 2011-03-24 16:03:27

+0

請參閱Hans的答案http://stackoverflow.com/questions/27584650/resize-form-on-listview-height – OfficeAddinDev 2016-11-29 00:04:50

回答

2

您將不得不手動計算所需的高度,並將其設置爲添加/刪除項目。

檢測項目添加或刪除不直接支持 - 所以您需要創建自己的添加/刪除項目調用客戶端調用,或處理來自WndProc的LVN_INSERTIEM類型消息。

自動調整大小的控件通常使用起來比較麻煩 - 因爲您必須跟蹤最小/最大大小,爲所有者留出空間,並且通常會爲用戶增加一個令人尷尬的可用性點。如果典型的解決方案(即滾動條)確實無法滿足您的需求,只能做這樣的事情。

0

「自動大小」屬性不支持「ListView」控件。正如@JohnArien所提到的,您將不得不以編程方式根據可用項目的數量重新調整列表視圖控件的大小。但要注意的是,就形式的視覺吸引力而言,這可能不是一個好主意。如果您在運行時更改大小,表單設計可能看起來很難看。在滾動條的幫助下,預計在這些類型的控件上可以擴展其客戶區域。我強烈建議你重新考慮這個選項。