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

Заставка 11. Создание нестандартной формы (форма с окружностями).

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

В листинге 229 представлен код процедуры, отвечающий за решение задачи.

Листинг 229

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 (экземпляр класса Графический путь) дугу z.AddArc(20, 300, 100, 100, 0, 400);

//добавляем со смещением еще одну дугу z.AddArc(400, 300, 100, 100, 0, 400);

z.AddEllipse(0, -300, this.Width, 600); this.Region = new Region(z); g.Dispose() ;

}

private void Forml_Resize(object sender, EventArgs e)

{

this.Invalidate();

}

}

}

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

Заставка 12. Поворот изображения и его зеркальное отображение.

Комментарий: метод RotateFlipO позволяет поворачивать (Rotate) и зеркально отражать (Flip) изображение в памяти. Предварительно у элемента управления pictureBoxl свойство SizeMode следует выставить в значение Stretchlmage, для того чтобы изображение автоматически изменило свои размеры так, чтобы они равнялись размерам pictureBoxl.

Также следует создать папку Image по следующему адресу: каталог Projects Имя текущего проекта Bin Debug Image и скопировать в нее файл с расширением .jpg. В раздел using добавим пространство имен System. Ю, в котором содержатся классы, которые отвечают за поддержку операций с файлами и каталогами. В листинге 230 представлен код процедуры, отвечающий за решение задачи.

Листинг 230

using System.10;

namespace WindowsApplicationl {

public partial class Forml : Form {

public Forml()

{

InitializeComponent();

}

private void Forml_Paint(object sender, PaintEventArgs e)

{

string currentDirectory =

Directory.GetCurrentDirectory();

Bitmap xolst=new Bitmap(currentDirectory +

@"ImageПроба.jpg");

xolst.RotateFlip(RotateFlipType.Rotate90FlipX); pictureBoxl.Image = xolst;

}

}

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

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
 
Популярные страницы