[C#] Закругленные формы на WFA. - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir  
[C#] Закругленные формы на WFA.
KunAmori Дата: Воскресенье, 03.12.2017, 22:36 | Сообщение # 1
Знаток
Сообщений: 164
Статус: Offline
Стандартными средствами в WFA нельзя нарисовать форму, у которой были бы закругленные края.

На помощь приходит класс GraphicsPath
Вставляем метод в свой класс или можете вынести в отдельный класс для удобства

public static GraphicsPath RoundedRect(Rectangle baseRect, int radius)
{
var diameter = radius * 2;
var sz = new Size(diameter, diameter);
var arc = new Rectangle(baseRect.Location, sz);
var path = new GraphicsPath();

// Верхний левый угол
path.AddArc(arc, 180, 90);

// Верхний правый угол
arc.X = baseRect.Right - diameter;
path.AddArc(arc, 270, 90);

// Нижний правый угол
arc.Y = baseRect.Bottom - diameter;
path.AddArc(arc, 0, 90);

// Нижний левый угол
arc.X = baseRect.Left;
path.AddArc(arc, 90, 90);

path.CloseFigure();
return path;
}

Переходим к событиям формы, ищем событие Load, два раза кликаем по нему



Вставляем следующий код:

this.Region = new Region(
RoundedRect(
new Rectangle(0, 0, this.Width, this.Height)
, 10
)
);

Вместо 10 впишите своё число - радиус округления формы.

Drygok Дата: Воскресенье, 28.01.2018, 10:23 | Сообщение # 2
Любитель
Сообщений: 37
Статус: Offline
Омагад, годнота. +реп
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума