Программирование КПК и смартфонов на .NET Compact Framework | страница 25



. Следует обратить внимание на то, что если ползунок находится в положении, определяемом свойством >Maximum, то свойство >Value не равно значению >Maximum. В этом случае значение свойства >Value вычисляется по формуле >Maximum - LargeChange + 1.

При изменении свойства >Value инициируется событие >ValueChanged. В листинге 3.15 приведен пример работы с полосами прокрутки.

Листинг 3.15

>private void vScrollBar1_ValueChanged(object sender, EventArgs e) {

> this.lblScroll.Text = this.vScrollBar1.Value.ToString();

>}

На рис. 3.10 показан внешний вид приложения. Если переместить ползунок в нижнюю часть полосы прокрутки, то значение в соответствии с формулой будет равно 91.

Рис. 3.10. Пример работы с полосами прокрутки


Список рисунков (ImageList)

Элемент управления >ImageList уже рассматривался при знакомстве с элементом >ToolBar. Элемент >ImageList используется для хранения коллекций растровых изображений. Как и многие другие элементы, список рисунков не отображается во время выполнения программы, а используется как контейнер, из которого по мере необходимости извлекаются хранимые изображения. Как правило, данный элемент используется совместно с такими элементами управления, как >ListView, >TreeView и >ToolBar.

Изображения можно добавлять в элемент управления во время работы приложения. Для этого используется метод >Add, который входит в состав члена класса >Images. Сами картинки могут располагаться как в отдельных файлах, так и в ресурсах приложения. В листинге 3.16 показано, как можно добавить картинку из ресурсов в >ImageList, а затем отобразить ее в элементе интерфейса >PictureBox.

Листинг 3.16

>Bitmap image = new Bitmap(Assembly.GetExecutingAssembly(),

> GetManifestResourceStream(@"ImageList_CS.home.gif"));

>imgList.Images.Add(image);

>picTest.Image = imgList.Images[0];

Изображение добавляется в начало списка, и его порядковый номер будет равен нулю. Если в >ImageList уже было одно изображение, то новая картинка будет иметь порядковый номер, равный единице. Это иллюстрируется листингом 3.17.

Листинг 3.17

>private void butFromImageListClick(object sender, EventArgs e) {

> picTest.Image = imgList.Images[1];

>}

Все картинки, находящиеся в >ImageList, имеют одинаковый размер. По умолчанию используется размер 16×16 пикселов. Разработчик может изменить размеры изображений, используя свойство >ImageSize. Если менять отображаемые картинки при помощи таймера, то можно даже создать небольшую мультипликацию. Для этого достаточно список рисунков заполнить набором изображений, а затем поочередно отображать их в графическом поле.