Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Введение в программирование на языке Visual C#

Заставка 10. Создание нестандартной формы.

Комментарий: попытки создания собственного пользовательского интерфейса, работа с элементами управления напрямую связаны с экранными формами. На сегодняшний день создано много приложений, окна которых имеют не прямоугольный вид, в качестве примера можно привести окно медиаплеера Windows.

Существует класс GraphicsPath (графический путь) пространства имен Drawing2D. Если создать экземпляр этого класса, то в него можно «складывать», как в коллекцию, разные фигуры. Затем все фигуры можно вывести на экран, кроме того, соседние фигуры он соединяет линиями, образуя единый контур, и этот контур можно залить цветом. Класс Region, 434 используемый в программе, представляет внутреннюю часть геометрической фигуры, в данном коде — эллипса. Благодаря выбору чисел -300 и 600 центр эллипса находится на заголовке окна. Число 0 заставляет левый край эллипса лежать на левом краю заголовка, а выражение this.Width — правый край на правом. Процедура обработчика события Resize содержит метод InvalidateO, который заставляет форму перерисовываться при изменении ее размеров.

В листинге 228 представлен основной код приложения.

Листинг 228

using System.Drawing.Drawing2D;

namespace WindowsApplicationl {

public partial class Forml : Form {

public Forml()

{

InitializeComponent();

}

private void Forml_Paint(object sender, PaintEventArgs e)

{

Graphics g = e.Graphics;

GraphicsPath z=new GraphicsPath(); z.AddEllipse(0, -300, this.Width, 600);

//Определяем новую область - непрямоугольную this.Region = new Region(z);

}

private void Forml_Resize(object sender, EventArgs e)

{

this.Invalidate();

}

}

}

Результат работы программы представлен на рис. 253.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 
Популярные страницы