Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 153

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 147 148 149 150 151 152 < 153 > 154 155 156 157 158 159 .. 320 >> Следующая

370 Глава 8 • Окна становятся лучше: введение в Windows.Forms
What
we
•PeinUEventAcap в)
і.",
5 New Roman", 20), (Color.Biac*) ," 40, 10),
Рис. 8.19. Наша форма после того, как мы поработали с некоторыми членами класса Control
бытие Paint для отображения текстовой строки в клиентской части формы. Вот новый код нашей формы:
usi m System;
using System.Windows,Forms:
using System.Drawing:// Для типов Color, Brush и Font
public class MainForm :
{
public MainFormO
Il Устанавливаек значения некоторых свойств, определенных // в классе Control BcickColor = CoI о г. Torna to:
Opacity = 0.5cl:
this.Cursor - Cursors.WaitCursor:
// Перехватываем событие Paint
this.Paint +- new PaintEventHandler(:orml_Paint);
Ї
private void Forml_Paint(object sender, PaintEventArgs el f
Graphics g - e.Graphics;
g.Drawstring("What a head trip...",
new FonU"Times New Roman", 23).
new Solid8rush(Color.Black), 40, 10);
}
J
Запустив наше приложение, мы увидим, что форма изменилась просто-таки разительно! Во-первых, она стала полупрозрачной, во-вторых, по цвету стала напоминать помидор, в-третьих, на ней появилась надпись, а указатель мыши при прохождении над ней становится совсем другим. Некоторое представление о том, что должно получиться, приведено на рис. 8.19. Обратите внимание на то, что сквозь форму просвечивают буквы кода.
Класс ScrollableControl 371
Painting Basics
Событие nt играет очень важную роль в приложениях Windows Forms. Обратите Bi и і м ал не, что делегат для этого события передает вызываемому методу в качестве параметра объект класса Paintb/entArgs. В этом классе определены два важных свойства (табл. 8.12).
Таблица 8.12. Свойства класса PaintEventArgs
Свойство Назначение " " " " " "
ClipRectangle Позволяет получить прямоугольную область вывода изображения
Graphics Позволяет получить объект Graphics, используемый для вывода изображения
Самое важное свойство Ч'ntb/entA-gs — это Graphics, при помощи которого можно получить объект одноименного класса. Мы подробнее рассмотрим механизм работы GDI+ и подсистемы вывода изображений в целом в следующей главе, однако сейчас важно отметить, что при помощи многочисленных свойств класса мы можем выводить на область, занятую элементом текстовые
надписи, геометрические фигуры и изображения.
Кроме того, в нашем примере мы также воспользовались возможностями свойга ва Cursor для изменения формы указателя мыши. Свойству Си^огможно присвоить одно из значений перечисления Cursors (например, Arrow, Cross, UpArrow, Help и т. п.):
public MofriFormO (
ii-is.Cursor - Cursors.HaltCurscr;
}
Код приложения MortontrolBehaviors можно найти в подкаталоге Chapter 8.
Класс ScrollableControl
В классе определено всего несколько членов, главное назначение
которых - обеспечить поддержку вертикальной и горизонтальной полос прокрутки. Наиболее часто используемыми типами этого класса являются свойства AjtoScrc 11 и AutoScrollMinSize. Эти свойства обеспечивают автоматическое появление полос прокрутки в тех ситуациях, когда ее содержимое не умещается в границах (например, если пользователь уменьшил ее размер). Свойство AutoScrol IMi nSize позволяет Ж5л':ь минимальный размер формы, при котором всегда будут появляться полосы прокрутки. Выглядеть это может так:
// Этот код помещается в конструктор класса или метод Initial і zeComponentt).
Il Для работы с классом Size также нужна ссылка на пространство имен System.Drawing
this.AutoScrol! = true;
this.AutoScrollMinSize = new System,Drawing.Size (300, 300);
Обо всем остальном позаботится класс Scrol abl Если на форме разме-
щено элементов управления, то применение полос
рует, что пользователь сможет получить доступ ко всем из них. На рис. 8.20 полоса прокрутки позволяет просмотреть большой блок размещенного на форме текста.
372 Глава 8 • Окна становятся лучше: введение в Windows.Forms
is a block oftext »e visible when th es me. How? S( se!
J
M
Рис. 8.20. При
1 помощи членов класса ScrollablcConti'ol можно обеспечить автоматическое появление полос прокрутки
Класс ScrolleblgConfol позволяет также принудительно обеспечивать появление полос прокрутки при помощи отдельных типов Scroll Ba г (таких как HScrol Bar и VScrallBar). Информацию об остальных членах этого класса (их не так много) можно найти при помощи электронной документации по С#.
Код приложения ScrollForm можно найти в подкаталоге Chapter 8.
Члены класса Contai nerControl позволяют управлять фокусом — то есть выделением отдельных элементов на форме (например, переход фокуса может производиться с помощью клавиши Tab). Чаще всего возможности этого класса используются в тех случаях, когда на форме присутствует множество элементов управления и мы хотим обеспечить пользователю удобство перехода но ним при помощи клавиатуры. При помощи членов этого класса мы можем программным образом получить информацию о какой элемент управления выделен в настоящий момент, принудительно передать фокус определенному элементу управления и т. п. Наиболее важные члены этого класса представлены в табл. 8.13.
Предыдущая << 1 .. 147 148 149 150 151 152 < 153 > 154 155 156 157 158 159 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100