using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Mesoft.Control
{
public partial class MeTextBox : TextBox
{
private string MeTempText = "";
private Boolean IsNum = false;
private Boolean IsEmail = false;
public MeTextBox()
{
TextWithWaterMark = false;
this.Size = new System.Drawing.Size(169, 20);
this.TextChanged += new System.EventHandler(this.meText_TextChanged);
this.Leave += new System.EventHandler(this.meText_Leave);
this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.meText_KeyPress);
this.Enter += new System.EventHandler(this.meText_Enter);
this.Validating += new CancelEventHandler(meText_Validating);
}
#region "CUSTOME PROPERTIES"
[Category("Mesoft")]
[Description("get or set watermark text")]
public String WaterMarkText
{
get
{
return MeTempText;
}
set
{
MeTempText = value;
this.Text = MeTempText;
SetTextColor();
}
}
[Category("Mesoft")]
public new string Text
{
get
{
if (!TextWithWaterMark)
{
if (base.Text == WaterMarkText)
{
return "";
}
else
{
return base.Text;
}
}
else
{
return base.Text;
}
}
set
{
base.Text = value;
}
}
[Category("Mesoft")]
public String TextWithNull
{
get
{
if (this.Text == WaterMarkText)
{
return "NULL";
}
else
{
return Text;
}
}
}
[Category("Mesoft")]
[Description("set true metextbox as numbertextbox")]
public Boolean NumberTextBox
{
get
{
return IsNum;
}
set
{
IsNum = value;
if (IsNum)
{
IsEmail = false;
}
}
}
[Category("Mesoft")]
[Description("set true metextbox email validate textbox")]
public Boolean EmailTextBox
{
get
{
return IsEmail;
}
set
{
IsEmail = value;
if (IsEmail)
{
IsNum = false;
}
}
}
[Category("Mesoft")]
[Description("If you want return text with watermark also make it true.")]
public Boolean TextWithWaterMark
{
get;
set;
}
#endregion
#region "CUSTOME METHOD"
private void SetTextColor()
{
try
{
string temp = this.Text;
if (temp == "")
{
temp = WaterMarkText;
}
if (temp == WaterMarkText)
{
this.ForeColor = Color.Silver;
}
else
{
this.ForeColor = Color.Black;
}
}
catch (Exception ex)
{
General.ErrorMessage(ex.Message);
}
}
protected override void OnCreateControl()
{
base.OnCreateControl();
}
public new void Clear()
{
this.Text = WaterMarkText;
}
#endregion
#region "EVETN"
private void meText_TextChanged(object sender, EventArgs e)
{
try
{
SetTextColor();
}
catch (Exception ex)
{
General.ErrorMessage(ex.Message);
}
}
private void meText_Enter(object sender, EventArgs e)
{
try
{
string temp = this.Text;
if (temp == "")
{
temp = WaterMarkText;
}
if (temp == WaterMarkText)
{
this.Text = "";
}
}
catch (Exception ex)
{
General.ErrorMessage(ex.Message);
}
}
private void meText_Leave(object sender, EventArgs e)
{
try
{
if (this.Text == "")
{
this.Text = WaterMarkText;
}
}
catch (Exception ex)
{
General.ErrorMessage(ex.Message);
}
}
private void meText_KeyPress(object sender, KeyPressEventArgs e)
{
try
{
if (NumberTextBox)
{
if (!char.IsNumber(e.KeyChar) && e.KeyChar != '.' && e.KeyChar != '\b')
{
e.Handled = true;
}
}
}
catch (Exception ex)
{
General.ErrorMessage(ex.Message);
}
}
private void meText_Validating(object sender, CancelEventArgs e)
{
try
{
if (IsEmail)
{
if (this.Text != "" && this.Text != WaterMarkText)
{
Mesoft.Extra.Validation ObjVal = new Mesoft.Extra.Validation();
ObjVal.IsValidationEmail(this.Text);
}
}
}
catch (Exception ex)
{
e.Cancel = true;
General.ErrorMessage(ex.Message);
}
}
#endregion
}
}
No comments:
Post a Comment