|
Программирование >> Автоматически обновляемые приложения
Рис. 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.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |