Image.FromFile
не медленно, но, как вы вызываете его для каждой записи может вызывать у вас некоторые штрафные санкции. Вы вызываете этот метод, который взаимодействует с файловой системой для каждой строки.
Вместо загрузки этих изображений из файловой системы для каждой строки в сетке, вы можете использовать любой из этих вариантов:
Вы можете загрузить эти изображения один раз и поместить их в List<Image>
, а затем каждый раз, когда вам нужны они, например, получить изображение из списка по индексу, Images[0]
. Если вы хотите получить доступ к этим изображениям по ключу, вы можете использовать Dictionary<string , Image>
, как указано Plutonix, а затем вы можете получить изображение, используя, например, Images["RoundedGreen"]
.
Вместо того, чтобы полагаться на изображения в файловой системе, вы можете использовать файл Resources.Resx
вашего приложения для хранения этих изображений во время компиляции. Затем каждый раз, когда вам нужно использовать эти изображения во время выполнения, вы можете найти их, используя My.Resources.RoundedGreen
.
Пример
Например, вы можете определить Images
элемент на уровне формы:
Dim Images As Dictionary(Of String, Image) = New Dictionary(Of String, Image)()
Тогда где-то, например, в Load
случае формы, загрузки изображений:
Images.Add("RoundedGreen", Image.FromFile("Path to RoundedGreen image"))
Images.Add("RoundedRed", Image.FromFile("Path to RoundedRed image"))
Затем везде вам нужно использовать эти изображения, вы можете получить их от Images
участника следующим образом: Images("RoundedGreen")
Сколько у вас изображений? – Plutonix
Если это код, который вы хотите запустить для каждой строки, то вместо доступа к файлам для каждой строки загрузите эти изображения один раз и поместите их в «Список» и используйте их из этого списка каждый раз, когда вам нужно. –
Имеются два разных изображения. Зеленый значок и красный значок. Я не могу загрузить все изображения сразу, потому что каждая строка должна удовлетворять условию, основанному на нем. Я могу показать зеленое изображение или красное изображение. – user1030181