Güncel C# Gradient Button

  • Konuyu Başlatan Konuyu Başlatan Falcon
  • Başlangıç tarihi Başlangıç tarihi

Falcon

Yönetici
Kod:
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;

public class GradientButton : Button
{
    public Color Color1 { get; set; } = Color.FromArgb(40, 34, 201); // Başlangıç rengi
    public Color Color2 { get; set; } = Color.FromArgb(110, 38, 60); // Bitiş rengi
    public float Angle { get; set; } = 90f; // Gradient açısı

    protected override void OnPaint(PaintEventArgs e)
    {
        // Gradient arka plan oluştur
        using (LinearGradientBrush brush = new LinearGradientBrush(this.ClientRectangle, Color1, Color2, Angle))
        {
            e.Graphics.FillRectangle(brush, this.ClientRectangle);
        }

        // Yazıyı ortala
        TextRenderer.DrawText(e.Graphics, this.Text, this.Font,
            this.ClientRectangle, this.ForeColor, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter);

        // Kenarlık çiz (isteğe bağlı)
        ControlPaint.DrawBorder(e.Graphics, this.ClientRectangle, Color.Black, ButtonBorderStyle.Solid);
    }
}

KULLANİM

Kod:
// Form_Load içinde:
GradientButton btn = new GradientButton();
btn.Text = "Gradient Button";
btn.Size = new Size(200, 60);
btn.Location = new Point(50, 50);
btn.Color1 = Color.FromArgb(40, 34, 201);
btn.Color2 = Color.FromArgb(110, 38, 60);
btn.Angle = 90f;
this.Controls.Add(btn);
 
Geri
Üst