Exferia/Exferia_Controles/Exferia_Controles/Exferia_TextBox_ConMascara.cs

263 lines
8.5 KiB
C#

using Exferia_Aplicacion.Visualizacion;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Exferia_Controles
{
public partial class Exferia_TextBox_ConMascara : Panel
{
#region Eventos privados
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.Clear(SystemColors.Window);
using (Pen borderPen = new Pen(g_mtxt_Principal.Focused ? g_clr_BordeColorFoco : g_clr_BordeColorNormal))
{
e.Graphics.DrawRectangle(borderPen, new Rectangle(0, 0, ClientSize.Width - 1, ClientSize.Height - 1));
}
base.OnPaint(e);
}
#endregion
#region Eventos publicos
private void MaskedTextBox_Refresh(object sender, EventArgs e)
{
Invalidate();
}
public event KeyPressEventHandler Exferia_TextBox_ConMascara_Evento_KeyPress;
private void MaskedTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
//Para que salte el evento en el otro lado
Exferia_TextBox_ConMascara_Evento_KeyPress?.Invoke(sender, e);
}
public event KeyEventHandler Exferia_TextBox_ConMascara_Evento_KeyDown;
private void MaskedTextBox_KeyDown(object sender, KeyEventArgs e)
{
//Para que salte el evento en el otro lado
Exferia_TextBox_ConMascara_Evento_KeyDown?.Invoke(sender, e);
}
public event KeyEventHandler Exferia_TextBox_ConMascara_Evento_KeyUp;
private void MaskedTextBox_KeyUp(object sender, KeyEventArgs e)
{
//Para que salte el evento en el otro lado
Exferia_TextBox_ConMascara_Evento_KeyUp?.Invoke(sender, e);
}
public event EventHandler Exferia_TextBox_ConMascara_Evento_TextChanged;
private void MaskedTextBox_TextChanged(object sender, EventArgs e)
{
//Para que salte el evento en el otro lado
Exferia_TextBox_ConMascara_Evento_TextChanged?.Invoke(sender, e);
}
public event EventHandler Exferia_TextBox_ConMascara_Evento_GotFocus;
private void MaskedTextBox_GotFocus(object sender, EventArgs e)
{
//Para que salte el evento en el otro lado
Exferia_TextBox_ConMascara_Evento_GotFocus?.Invoke(sender, e);
}
public event EventHandler Exferia_TextBox_ConMascara_Evento_LostFocus;
private void MaskedTextBox_LostFocus(object sender, EventArgs e)
{
//Para que salte el evento en el otro lado
Exferia_TextBox_ConMascara_Evento_LostFocus?.Invoke(this, e);
}
#endregion
#region Propiedades Publicas
internal bool g_bol_Obligatorio = false;
public bool Exferia_TextBox_ConMascara_Obligatorio
{
set
{
g_bol_Obligatorio = value;
if (g_bol_Obligatorio)
{
Exferia_TextBox_ConMascara_Fondo = Colores.G_COLOR_FONDO_OBLIGATORIO;
}
else
{
Exferia_TextBox_ConMascara_Fondo = Colores.G_COLOR_FONDO_BASE;
}
}
get
{
return g_bol_Obligatorio;
}
}
public Color Exferia_TextBox_ConMascara_Fondo
{
set
{
g_mtxt_Principal.BackColor = value;
}
get
{
return g_mtxt_Principal.BackColor;
}
}
public void Exferia_TextBox_ConMascara_ColorTexto(Color _clr_ColorTexto)
{
g_mtxt_Principal.ForeColor = _clr_ColorTexto;
}
public void Exferia_TextBox_ConMascara_FuenteTexto(Font _fnt_Texto)
{
g_mtxt_Principal.Font = _fnt_Texto;
}
public Color g_clr_BordeColorNormal = Color.Black;
public Color Exferia_TextBox_ConMascara_BordeColor_Normal
{
get { return g_clr_BordeColorNormal; }
set { g_clr_BordeColorNormal = value; }
}
public Color g_clr_BordeColorFoco = Color.Red;
public Color Exferia_TextBox_ConMascara_BordeColor_Foco
{
get { return g_clr_BordeColorFoco; }
set { g_clr_BordeColorFoco = value; }
}
public int Exferia_TextBox_ConMascara_MaxLength
{
get { return g_mtxt_Principal.MaxLength; }
set { g_mtxt_Principal.MaxLength = value; }
}
public bool Exferia_TextBox_ConMascara_Multiline
{
get { return g_mtxt_Principal.Multiline; }
set { g_mtxt_Principal.Multiline = value; }
}
public char Exferia_TextBox_ConMascara_PasswordChar
{
get { return g_mtxt_Principal.PasswordChar; }
set { g_mtxt_Principal.PasswordChar = value; }
}
public bool Exferia_TextBox_ConMascara_UseSystemPasswordChar
{
get { return g_mtxt_Principal.UseSystemPasswordChar; }
set { g_mtxt_Principal.UseSystemPasswordChar = value; }
}
public int Exferia_TextBox_ConMascara_SelectionStart
{
get { return g_mtxt_Principal.SelectionStart; }
set { g_mtxt_Principal.SelectionStart = value; }
}
public int Exferia_TextBox_ConMascara_SelectionLength
{
get { return g_mtxt_Principal.SelectionLength; }
set { g_mtxt_Principal.SelectionLength = value; }
}
override
public string Text
{
get { return g_mtxt_Principal.Text; }
set { g_mtxt_Principal.Text = value; }
}
public string Exferia_TextBox_ConMascara_Texto_Inicial
{
get { return g_mtxt_Principal.Text; }
set
{
g_mtxt_Principal.Text = value;
}
}
public bool Exferia_TextBox_ConMascara_TabStop
{
get { return g_mtxt_Principal.TabStop; }
set
{
g_mtxt_Principal.TabStop = value;
}
}
public HorizontalAlignment Exferia_TextBox_ConMascara_TextAlign
{
get { return g_mtxt_Principal.TextAlign; }
set { g_mtxt_Principal.TextAlign = value; }
}
public bool Exferia_TextBox_ConMascara_NoBloquear
{
get { return g_mtxt_Principal.Enabled; }
set
{
Focus();
Enabled = value;
}
}
public void Exferia_TextBox_ConMascara_Focus()
{
g_mtxt_Principal.Focus();
Invalidate();
}
public bool Exferia_TextBox_ConMascara_ReadOnly
{
get { return g_mtxt_Principal.ReadOnly; }
set { g_mtxt_Principal.ReadOnly = value; }
}
public string Exferia_TextBox_ConMascara_Mask
{
get { return g_mtxt_Principal.Mask; }
set { g_mtxt_Principal.Mask = value; }
}
#endregion
private MaskedTextBox g_mtxt_Principal;
public Exferia_TextBox_ConMascara()
{
DoubleBuffered = true;
Padding = new Padding(2);
Anchor = AnchorStyles.Top | AnchorStyles.Left;
Height = 22;
g_mtxt_Principal = new MaskedTextBox();
g_mtxt_Principal.AutoSize = false;
g_mtxt_Principal.UseSystemPasswordChar = false;
g_mtxt_Principal.BorderStyle = BorderStyle.None;
g_mtxt_Principal.Dock = DockStyle.Fill;
//Eventos
g_mtxt_Principal.Enter += new EventHandler(MaskedTextBox_Refresh);
g_mtxt_Principal.Leave += new EventHandler(MaskedTextBox_Refresh);
g_mtxt_Principal.Resize += new EventHandler(MaskedTextBox_Refresh);
g_mtxt_Principal.EnabledChanged += new EventHandler(MaskedTextBox_Refresh);
g_mtxt_Principal.KeyPress += new KeyPressEventHandler(MaskedTextBox_KeyPress);
g_mtxt_Principal.KeyDown += new KeyEventHandler(MaskedTextBox_KeyDown);
g_mtxt_Principal.KeyUp += new KeyEventHandler(MaskedTextBox_KeyUp);
g_mtxt_Principal.TextChanged += new EventHandler(MaskedTextBox_TextChanged);
g_mtxt_Principal.GotFocus += new EventHandler(MaskedTextBox_GotFocus);
g_mtxt_Principal.LostFocus += new EventHandler(MaskedTextBox_LostFocus);
Controls.Add(g_mtxt_Principal);
}
}
}