Программирование >>  Автоматически обновляемые приложения 

1 ... 39 40 41 [ 42 ] 43 44 45 ... 170


: . . 4 .

V

? Назад

v;;.. D:\My5cv3k\CSharp TpsvChaprer\5

Папки

FcrmsDtnc

- .О CShaip Tips .j

* 3 :

boutScreen

Тгап5мгег1Г0<;г.1-с

Ш Форма произольной <>ормы jfllMJ

FassVaiue 1

* О DragForni * DragFo--

HcleFcrjn

С#,Народные советы

+ О TextForm + С5 TianspaientDemo 1 files

.л inig

Рис. 5.1. Форма в виде ромба

Создание дырявой формы

Очень необычно смотрятся не только окна произвольной формы, но и дырявые окна. Реализовать такое окно можно всего за несколько секунд, написав пару строчек кода. Размещаем на форме элемент PictureBox, который послужит нам в качестве отверстия в форме. Вот и все приготовления, и осталось добавить код из листинга 5.34.

Листинг 5.34. Создание дырявой формы

public Form О

InitiaiizeComponent();

this.pictureBoxl.BackColor = System.Drawing.Color.FromArgb( ((System.Byte)(255)), ((System.Byte) (128)), ((System.Byte) (128))) ;



this.TransparencyKey = System.Drawing.Color.FromArgb( ((System.Byte)(255)), ((System.Byte) (128)), ((System.Byte) (128)));

Запустив проект, вы увидите стандартную прямоугольную форму с отверстием посередине (рис. 5.2).

Моикуме<ть ii4?ene.exe Internet Cachjj

Qomk Плане.,:


ip/32 ETF h res

htrinns inrhidft rscrdr sftnnftnci

Рис. 5.2. Дырявая форма на Рабочем столе

Примечание

Проект находится в папке HoleForm на прилагаемом диске.



Листинг 5,35, Форма в виде текста

using System.Drawing.Drawing2D;

private void Forml Paint(object sender, PaintEventArgs e) {

this.BackColor = Color.Cyan;

GraphicsPath gp = new GraphicsPath();

string myText = C#.Народные советы ;

gp.AddString(myText, new FontFamily( Tahoma ),

(int)FontStyle.Bold, 70, newPoint(35, 5),

StringFormat.GenericDefault);

this.Region = new Region(gp);

private void Forml DoubleClick(object sender, EventArgs e) {

this.Close 0;

В этом примере сначала форме присваивается цвет Cyan и создается экземпляр класса GraphicsPath. В качестве текста, форму которого примет наше окно, я выбрал название книги. Далее в методе Addstring устанавливаются необходимые свойства для шрифта- название, стиль, координаты вывода и формат. Теперь достаточно присвоить свойству Region созданную траекторию, и все лишнее будет отброшено, а останется только текст. Обратите внимание, что часть заголовка формы попала в созданный регион. Таким образом, вы можете перетащить форму на другое место, вызвать системное меню и т. д. Если вы создадите форму без заголовка или регион не захватит часть заголовка, то вам необходимо предусмотреть возможность выхода из программы. В нашем примере форма закрывается при двойном нажатии мыши.

Как создать форму в виде текста?

в предыдущем примере мы использовали прозрачность, чтобы создать окно нестандартной формы. Есть еще один вариант создания произвольной фигуры для формы при помощи свойства Region. Например, можно создать форму в виде текста. Как это сделать, показано в листинге 5.35.



1 ... 39 40 41 [ 42 ] 43 44 45 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика