Невозможно нарисовать правильные кнопки градиента в форме 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
Ответить

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

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

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

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

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