Почему не красит кнопку градиентом?

242
20 апреля 2018, 13:32
public Rectangle borderRectangle;
private void FlatButton_Paint(object sender, PaintEventArgs e)
        {
            borderRectangle = new Rectangle(0, 0, Width, Height);
            e.Graphics.DrawRectangle(new Pen(borderbrush, borderThickness), borderRectangle);
            e.Graphics.DrawString(this.Text, this.Font, (active) ? textbrush : borderbrush, borderRectangle, stringFormat);
        }
protected override void OnPaint(PaintEventArgs e)
                {
                    base.OnPaint(e);
                    this.Paint += FlatButton_Paint;
                    using (LinearGradientBrush linGrBrush = new LinearGradientBrush(new Point(borderRectangle.Left), new Point( borderRectangle.Right), Color.FromArgb(255, 248, 140, 17), Color.FromArgb(255, 241, 99, 21)))
                    {
                      e.Graphics.FillRectangles(linGrBrush);
                    }
                }

Мне нужно что-бы созданная кнопка заполнялась градиентом, но почему-то выдает ошибку, в чем проблема?

Answer 1

https://msdn.microsoft.com/en-us/library/system.drawing.graphics.fillrectangles(v=vs.71).aspx

e.Graphics.FillRectangles(linGrBrush);

FillRectangles - переводится "закрасить прямоугольники". Как эта функция должна догадаться, какие прямоугольники закрасить?

e.Graphics.FillRectangles(linGrBrush, new Rectangle[] { borderRectangle });
READ ALSO
Отслеживание изменений в файле

Отслеживание изменений в файле

Вы замечали, что если изменить открытый в Visual Studio файл извне, то наша любимая IDE тут же это "заметит" и выдаст запрос на перезагрузку файла для...

186
Альтернатива GDI+

Альтернатива GDI+

К сожалению, GDI+ не способна на быструю прорисовку множества объектов в динамике, да я знаю, что она и не создана для этого, но тем не менееДаже...

177
База данных для мониторинга сети

База данных для мониторинга сети

Добрый день! Прошу совета, делаю сейчас небольшую работу с БД, не могу определиться с инструментарием тк нет конкретного опыта разработки...

186