112 lines
3.0 KiB
C#
112 lines
3.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Drawing.Drawing2D;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Exferia_Controles
|
|
{
|
|
public partial class Exferia_Panel_Degradado : Panel
|
|
{
|
|
#region Propiedades Publicas
|
|
|
|
private Color g_crl_Color_Desde = Color.White;
|
|
public Color Exferia_Panel_Degradado_Color_Desde
|
|
{
|
|
get { return g_crl_Color_Desde; }
|
|
set
|
|
{
|
|
g_crl_Color_Desde = value;
|
|
Invalidate();
|
|
}
|
|
}
|
|
private Color g_clr_Color_Hasta = Color.White;
|
|
public Color Exferia_Panel_Degradado_Color_Hasta
|
|
{
|
|
get { return g_clr_Color_Hasta; }
|
|
set
|
|
{
|
|
g_clr_Color_Hasta = value;
|
|
Invalidate();
|
|
}
|
|
}
|
|
|
|
private Color g_clr_Color_Borde = Color.White;
|
|
public Color Exferia_Panel_Degradado_Color_Borde
|
|
{
|
|
get { return g_clr_Color_Borde; }
|
|
set
|
|
{
|
|
g_clr_Color_Borde = value;
|
|
Invalidate();
|
|
}
|
|
}
|
|
|
|
private LinearGradientMode g_lgd_TipoDegradado = LinearGradientMode.Vertical;
|
|
public LinearGradientMode Exferia_Panel_Degradado_TipoDegradado
|
|
{
|
|
get { return g_lgd_TipoDegradado; }
|
|
set
|
|
{
|
|
g_lgd_TipoDegradado = value;
|
|
Invalidate();
|
|
}
|
|
}
|
|
#endregion
|
|
public Exferia_Panel_Degradado()
|
|
{
|
|
ResizeRedraw = true;
|
|
|
|
SetStyle(ControlStyles.UserPaint, true);
|
|
SetStyle(ControlStyles.ContainerControl, true);
|
|
|
|
Paint += new PaintEventHandler(Exferia_Panel_Degradado_Paint);
|
|
}
|
|
|
|
#region Eventos
|
|
|
|
private void Exferia_Panel_Degradado_Paint(object sender, PaintEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
var brush = new LinearGradientBrush(ClientRectangle, Exferia_Panel_Degradado_Color_Desde, Exferia_Panel_Degradado_Color_Hasta, Exferia_Panel_Degradado_TipoDegradado);
|
|
e.Graphics.FillRectangle(brush, ClientRectangle);
|
|
}
|
|
catch (Exception)
|
|
{ }
|
|
}
|
|
|
|
protected override void OnScroll(ScrollEventArgs se)
|
|
{
|
|
Invalidate();
|
|
base.OnScroll(se);
|
|
}
|
|
|
|
protected override void WndProc(ref Message m)
|
|
{
|
|
try
|
|
{
|
|
base.WndProc(ref m);
|
|
|
|
if (m.Msg == 0xF)
|
|
{
|
|
if (BorderStyle != BorderStyle.None)
|
|
{
|
|
Graphics graph = CreateGraphics();
|
|
Pen pen = new Pen(g_clr_Color_Borde, 2.0f);
|
|
graph.DrawRectangle(pen, base.ClientRectangle);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{ }
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|