Создание Windows-приложений на основе Visual C#


              

Автоматическое преобразование размера и прокручивание изображения


При создании приложения Picture Viewer нашей задачей была печать содержимого PictureBox, и мы не слишком обращали внимание на внешний вид изображения, помещаемого в него. Между тем, единственным способом просмотра изображения полностью был выбор режима "Подогнать размер" (StretchImage), который приводил к довольно существенным искажениям (рис. 6.20).

Помещение рисунка в PictureBox без сохранения его пропорций (наверху, приложение Picture Viewer) и с сохранением (внизу)</p>

увеличить изображение
Рис. 6.20.  Помещение рисунка в PictureBox без сохранения его пропорций (наверху, приложение Picture Viewer) и с сохранением (внизу)</p>

Кроме того, при выборе режима "Истинный размер" (Normal) на форме не появлялись полосы прокрутки, позволяющие просматривать изображение по частям (рис. 6.21).

При выходе изображения за границы формы необходимы полосы прокрутки

Рис. 6.21.  При выходе изображения за границы формы необходимы полосы прокрутки

Конечно, вписанное изображение можно было просматривать, изменяя размер самой формы, но этот способ вряд ли будет устраивать пользователей. Займемся разработкой приложения, обладающего более удобным интерфейсом. Далее я снова местами буду пользоваться транслитом и называть режим Scroll Prokrutkoy: дело в том, что мы научимся создавать собственные свойства пользовательского элемента управления, и мне хочется, чтобы они бросались в глаза. Запускаем Visual Studio .NET, создаем новый проект, выбираем шаблон Windows Control Library и называем его PictureElement (рис. 6.22):

Создание проекта пользовательского элемента управления

Рис. 6.22.  Создание проекта пользовательского элемента управления

В окне Properties появившейся формы в поле свойства Name вводим NamePictureElement. В окне Solution Explorer изменяем название UserControl1.cs на SolPictureElement.cs. Добавляем на форму элемент управления PictureBox — его размеры будут достаточно маленькими, но это не важно, в дальнейшем мы изменим его размер так, как будет нужно (рис. 6.23).

Элемент управления PictureElement в режиме дизайна

Рис. 6.23.  Элемент управления PictureElement в режиме дизайна

Свойству SizeMode элемента управления PictureBox устанавливаем значение StretchImage. Переходим в код формы, в пространстве имен PictureElement создаем перечисление RejimProsmotra:




Содержание  Назад  Вперед