TLDR:ImageList vs資源:如何在Winforms中組織圖像?
在項目中組織圖像的最佳模式是什麼?這是常見的,並建議在啓動時創建一個ImageList
,並通過其索引訪問每個圖像,或者支持要走的路?無論如何,請解釋原因。
詳細的問題:
我目前工作的一個軟件,其已經開發了相當一段時間了。它部分用Visual Basic編寫,它主要依靠ImageList
類來組織軟件每個部分中的所有圖像。在應用程序開始時,ImageList
通過巨大的數組創建,其中包含所有可以訪問的圖像文件的所有名稱。無論何時您需要圖像,您都需要訪問此對象,並通過列表中圖像的索引獲取圖像。
我知道這在過去可能有部分用處,因爲visual studio中的資源並不便於使用,有些控件僅適用於這些列表,例如ToolBar
(取代爲ToolStrip
)類有一個Poperty ImageList
,每個按鈕只在ImageList
中獲取其圖像的索引。
我覺得應該放棄這個龐大的ImageList
,並且應該慢慢遷移到在資源中組織這些圖像,但我不是主要的.NET開發人員,也不太瞭解winforms及其最佳實踐。
就像在TLDR中提出的那樣:在項目中組織圖像的最佳模型是什麼?這是常見的,並建議在啓動時創建一個ImageList
,並通過其索引訪問每個圖像,或者支持要走的路?無論如何,請解釋原因。
意見的問題是題外話。 Winforms雖然仍然支持,但現在還沒有開發。就是這樣。 – LarsTech
ImageList應僅用於爲ListView和TreeView提供圖像,其深層複製行爲使其無法管理大量圖像集合。你應該使用'List'。不要忘記在不再需要時處理()它們。 –