Чтение онлайн

на главную - закладки

Жанры

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

Климов Александр Петрович

Шрифт:

statusBar1.Text = "Вы нажали на кнопку Отмена!";

 }

}

Элементы HScrollBar и VScrollBar

Элементы управления

HScrollBar
и
VScrollBar
позволяют создавать полосы прокрутки для элементов, которые изначально не обладают этой функциональностью. Пользоваться этими полосами прокрутки совсем не сложно. Свойство
Minimum
задает значение элемента, когда ползунок находится в крайней левой или
в крайней верхней позиции, для
HScrollBar
или
VScrollBar
соответственно. Свойство
Maximum
, задает максимальное значение для полос прокрутки. Значение свойства
Value
зависит от положения ползунка. Оно всегда находится в диапазоне между значениями свойств
Minimum
и
Maximum
.

Когда пользователь щелкает на полосе прокрутки, то свойство Value изменяется в соответствии со значением, заданным в свойстве

LargeChange
. Когда пользователь нажимает на кнопку навигации со стрелкой, то свойство Value изменяется в соответствии со значением, заданным в свойстве
SmallChange
. Следует обратить внимание на то, что если ползунок находится в положении, определяемом свойством
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
. Если менять отображаемые картинки при помощи таймера, то можно даже создать небольшую мультипликацию. Для этого достаточно список рисунков заполнить набором изображений, а затем поочередно отображать их в графическом поле.

Элемент PictureBox

Элемент управления

PictureBox
используется для отображения графики. Данный элемент имеет ограниченную функциональность и не позволяет растягивать картинку в соответствии с размерами графического поля.

В листинге 3.18 приведен фрагмент кода, который позволяет загрузить изображение из графического файла.

Листинг 3.18

private void butFromFile_Click(object sender, EventArgs e) {

 picTest.Image = new Bitmap(@"\Windows\banner.gif");

}

Если использовать этот способ для добавления картинки, то нужно добавить изображение в проект и для свойства

Build Action
в окне свойств
Properties
задать значение
Content
. В процессе подготовки приложения к инсталляции изображение будет рассматриваться как часть программы. В рассмотренном примере использовалась готовая картинка, которая находится в папке
Windows
.

Также можно загрузить изображение из ресурсов приложения. В этом случае надо добавить картинку в проект и для свойства

Build Action
задать значение
Embedded Resource
. Тогда не придется специально включать изображения в состав инсталлятора. В листинге 3.19 приведен пример, иллюстрирующий добавление изображения из ресурсов.

Листинг 3.19

private void butRes_Click(object sender, EventArgs e) {

Поделиться:
Популярные книги

Кодекс Крови. Книга III

Борзых М.
3. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга III

Отчий дом. Семейная хроника

Чириков Евгений Николаевич
Проза:
классическая проза
5.00
рейтинг книги
Отчий дом. Семейная хроника

Скандальная свадьба

Данич Дина
1. Такие разные свадьбы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Скандальная свадьба

Путанабус. Трилогия

Старицкий Дмитрий
Фантастика:
боевая фантастика
6.93
рейтинг книги
Путанабус. Трилогия

Идеальный мир для Лекаря 25

Сапфир Олег
25. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 25

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Проданная невеста

Wolf Lita
Любовные романы:
любовно-фантастические романы
5.80
рейтинг книги
Проданная невеста

Потомок бога

Решетов Евгений Валерьевич
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
5.00
рейтинг книги
Потомок бога

С Д. Том 16

Клеванский Кирилл Сергеевич
16. Сердце дракона
Фантастика:
боевая фантастика
6.94
рейтинг книги
С Д. Том 16

Переиграть войну! Пенталогия

Рыбаков Артем Олегович
Переиграть войну!
Фантастика:
героическая фантастика
альтернативная история
8.25
рейтинг книги
Переиграть войну! Пенталогия

От Советского Информбюро - 1941-1945 (Сборник)

Неизвестен 3 Автор
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
От Советского Информбюро - 1941-1945 (Сборник)

Санек 3

Седой Василий
3. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 3

Прометей: повелитель стали

Рави Ивар
3. Прометей
Фантастика:
фэнтези
7.05
рейтинг книги
Прометей: повелитель стали

Отмороженный 14.0

Гарцевич Евгений Александрович
14. Отмороженный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Отмороженный 14.0