2009-12-22 27 views
0

我正在開發一個VB.NET WinForms應用程序,並且我到處都使用了許多小型的16x16 32位圖標;其中大部分嵌套在標籤之後或以其他方式隱藏。我把它們放在一個大的ImageList控件中,從那裏管理它們似乎更容易。將每個小圖標放在一個.NET ImageList控件中是否很明智?

我的問題是,這是聰明?即使在按鈕中,我也使用圖像列表,並且控件可以更直接地指定圖像(例如,通過Image屬性)。

請注意,我用ImageKey,沒有(電流)需要的ImageIndex。

是否會對性能產生負面/正面效應?

回答

1

除非你有十億的圖標,你可能不會有存儲或性能的任何問題。

真的可以歸結爲你找到最簡單的組織方式。有時共享存儲庫很方便,但如果控件的資源存儲在不相關的位置,則可能會很麻煩。

一般我只是下降的圖標到你的資源,然後設置你的控制圖標/圖像酒店在它們指向 - 這僅僅是一個管理資源的更容易的方式。但是如果你發現你的方法更容易(嘗試了其他方法),那就去做吧。

+0

那麼,我曾經這樣做過,但是擁有太多資源讓他們很難爲我導航。這就是爲什麼我更容易有ImageLists =) – 2009-12-22 17:48:24

+0

謝謝! =)我主要擔心從性能的角度來看它特別好或不好。 – 2009-12-22 17:54:54

+1

這不太可能 - 例如如果您單擊一個選項卡,只要它在大約四分之一秒內更改爲新選項卡,用戶就不會認爲它太慢。在四分之一秒內你可以做很多工作! – 2009-12-22 18:00:28

2

我不認爲性能可能會是一個問題,但如果你正在尋找一個集中位置來存儲您的圖片,爲什麼不使用embedded resources

這裏有一個具體的VB.NET,例如:

http://www.devx.com/vb2themax/Tip/18838

+0

這就是我目前的計算策略,但我很少從代碼中定義的資源,因爲圖像列表中理應取得了令運行時圖像容易改變(或者說,我在About.com閱讀的時候,我碰到用來圖像列表)。我主要在設計時使用資源。 – 2009-12-22 17:52:22

相關問題