Элементы управления HScrollBar
VScrollBar
позволяют создавать полосы прокрутки для элементов, которые изначально не обладают этой функциональностью. Пользоваться этими полосами прокрутки совсем не сложно. Свойство Minimum
задает значение элемента, когда ползунок находится в крайней левой или в крайней верхней позиции, для HScrollBar
или VScrollBar
соответственно. Свойство Maximum
, задает максимальное значение для полос прокрутки. Значение свойства Value
зависит от положения ползунка. Оно всегда находится в диапазоне между значениями свойств Minimum
и Maximum
.Когда пользователь щелкает на полосе прокрутки, то свойство Value изменяется в соответствии со значением, заданным в свойстве LargeChange
SmallChange
. Следует обратить внимание на то, что если ползунок находится в положении, определяемом свойством Maximum
, то свойство Value
не равно значению Maximum
. В этом случае значение свойства Value
вычисляется по формуле Maximum - LargeChange + 1
.При изменении свойства Value
ValueChanged
. В листинге 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
.Bitmap image = new Bitmap(Assembly.GetExecutingAssembly(),
GetManifestResourceStream(@"ImageList_CS.home.gif"));
imgList.Images.Add(image);
picTest.Image = imgList.Images[0];
Изображение добавляется в начало списка, и его порядковый номер будет равен нулю. Если в ImageList
private void butFromImageListClick(object sender, EventArgs e) {
picTest.Image = imgList.Images[1];
}
Все картинки, находящиеся в ImageList
ImageSize
. Если менять отображаемые картинки при помощи таймера, то можно даже создать небольшую мультипликацию. Для этого достаточно список рисунков заполнить набором изображений, а затем поочередно отображать их в графическом поле.Элемент PictureBox
Элемент управления PictureBox
В листинге 3.18 приведен фрагмент кода, который позволяет загрузить изображение из графического файла.
private void butFromFile_Click(object sender, EventArgs e) {
picTest.Image = new Bitmap(@"\Windows\banner.gif");
}
Если использовать этот способ для добавления картинки, то нужно добавить изображение в проект и для свойства Build Action
Properties
задать значение Content
. В процессе подготовки приложения к инсталляции изображение будет рассматриваться как часть программы. В рассмотренном примере использовалась готовая картинка, которая находится в папке Windows
.