Вопрос

Привет, я использую Visual Studio 8, vb.net .У меня есть графическое поле в моей форме, picturebox1

У меня есть несколько файлов изображений name image1.gif image2.gif image3.gif и т.д. вплоть image52.gif

Я хочу отобразить изображение в picturebox, зависящее от значения, которое генерируется в другом месте приложения, так что, если генерируется '3', я показываю picturebox для отображения image3.gif если генерируется 2 image2.gif.Однако у меня есть 52 таких изображения, которые будут отображаться в 16 графических блоках, поэтому мне было интересно, есть ли более эффективный способ, чем метод выбора регистра для каждого изображения и каждого графического блока.

Все и любая помощь очень ценятся, спасибо вам.

Это было полезно?

Решение

Всякий раз, когда у меня есть большое количество изображений, я всегда использую imagelist.Вы могли бы добавить изображения в список в правильном порядке и получить доступ к изображению в нужной позиции индекса.Но это поможет вам избавиться от одного из операторов select, но вам все равно понадобится один для другого графического поля.На самом деле это делается только для того, чтобы поддерживать чистоту.С точки зрения производительности, я не уверен, что вы получили бы такой большой успех, выполнив инструкцию multiple select.

Другие советы

Вы можете создать пользовательский URL-адрес для изображения:

string ImageUrl = startofurl + GeneratedNumber + ".gif";

Итак, если вы используете, например, эти значения:

startofurl = "C:\Users\Wiebren\Desktop\image"
generatednumber = 4

Вы получите это:

url = "C:\Users\Wiebren\Desktop\image3.gif"

Сделайте это для 16 ящиков, и все готово.

Надеюсь, это сработает

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top