Добрый день дорогие пользователи сайта nookeru.ru! Многие из вас использовали приложения с причудливыми формами, и у каждого возникает вопрос как такое же приложение сделать нам. А на самом деле ничего сложного, достаточно выполнить 3 пункта.
- В любом графическом редакторе создаем картинку, либо просто скачиваем ее из интернета, эта картинка и будет нашей будущей формой. Теперь вокруг картинки нужно закрасить всю область которую не будет видно, которая нам не нужна, она будет прозрачной, в нашем примере мы закрасим ее в черный, но можно использовать любой цвет, главное что бы его не было в основе формы, иначе он будет прозрачный. рис 1. Я выбрал изображение апельсина и закрасил во круг него область в черный цвет.
рис.1
- В свойствах формы устанавливаем свойство FormBorderStyle (стиль рамки окна) None. В качестве BackgroundImage указываем изображение, которое создали в 1 пункте. В свойстве TransparencyKey указываем черный цвет Black (черным цветом мы закрасили не нужную нам область изображения).
Так же добавим событие на форму и скопируйте приведенный код ниже.
1 2 3 4 5 6 7 |
частная пустота Form1_Load (объект отправителя, EventArgs е) { System.Drawing.Drawing2D.GraphicsPath Form_Path = новый System.Drawing.Drawing2D.GraphicsPath (); Form_Path.AddEllipse (0, 0, this.width, this.height); Регион Form_Region = новый регион (Form_Path); this.Region = Form_Region; } |
Однако когда вы установите в FormBorderStyle None это приведет к исчезновению заголовка окна с кнопками сворачивания/разворачивания и закрытия окна, поэтому нужно создать эти кнопки вручную. Добавив их на нашу форму обычные button и прописать код выполнения действий. В моем случаи я добавил лишь закрытие формы. Еще мне пришлось добавить возможность перемещения окна формы, так как после того как мы установили None в FormBorderStyle это возможность у нас пропала, как это сделать можете почитать тут. На рис. 2 Вы можете видеть что у меня получилось.
рис.2