Как нарисовать масштабируемую галочку внутри пользовательской кнопки 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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