Как нарисовать масштабируемую галочку внутри пользовательской кнопки WinForms с помощью OnPaint?C#

Место общения программистов C#
Anonymous
Как нарисовать масштабируемую галочку внутри пользовательской кнопки WinForms с помощью OnPaint?

Сообщение Anonymous »

Я создаю собственную круглую кнопку в WinForms. Я могу успешно нарисовать круг, используя DrawEllipse. Однако я не знаю, как вычислить правильные пропорциональные координаты, чтобы нарисовать масштабируемую галочку внутри кнопки и правильно изменить ее размер. Как рассчитать пропорциональные точки для галочки, чтобы она правильно масштабировалась в зависимости от размера кнопки?
public class MyButton : Button
{
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics graphics = e.Graphics;
graphics.SmoothingMode = SmoothingMode.AntiAlias;
Rectangle rectangle = new Rectangle();
rectangle.Height = 111;
rectangle.Width = 100;
graphics.FillEllipse(Brushes.White, rectangle);
graphics.DrawEllipse(Pens.White, rectangle);
}
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... ng-onpaint

Вернуться в «C#»