Невозможно нарисовать правильные кнопки градиента в форме Windows.C#

Место общения программистов C#
Anonymous
Невозможно нарисовать правильные кнопки градиента в форме Windows.

Сообщение Anonymous »

У меня есть следующий простой код, который должен нарисовать кнопку градиента, добавленную как gradbtn.cs

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Drawing2D;

namespace CustomControls.GradientControls
{
public class Gradbtns : Button
{
protected override void OnPaint(PaintEventArgs pevent)
{

base.OnPaint(pevent);

pevent.Graphics.FillRectangle(new LinearGradientBrush(
new PointF(0, this.Height / 2), new PointF(this.Width, this.Height / 2),
Color.AliceBlue, Color.BurlyWood), this.ClientRectangle);
}
}
}
Проблема рисования с помощью приведенного выше кода заключается в том, что он не включает действие нажатия кнопки в форме, а выглядит так, как если бы он был нарисован в форме.
Но использование события OnPaintBackground активирует кнопку, но цвета не отображаются. См. изображение ниже
[img]https://i .sstatic.net/7ohMqase.png[/img]


Подробнее здесь: https://stackoverflow.com/questions/787 ... ndows-form

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