MaskTextBox

09/01/2008 - 23:33 por Clara | Informe spam
Hola,
estoy intentando usar el MaskTextBox con una mascara para fechas 00/00/0000
He encontrado este código en MSDN para hacer la validación:

private void Form1_Load(object sender, EventArgs e)
{
maskedTextBox1.ValidatingType = typeof(System.DateTime);
maskedTextBox1.TypeValidationCompleted += new
TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted);
}
public void maskedTextBox1_TypeValidationCompleted(object sender,
TypeValidationEventArgs e)
{
if (!e.IsValidInput)
{
toolTip1.ToolTipTitle = "Invalid Date Value";
toolTip1.Show("We're sorry, but the value you entered is not a valid
date. Please change the value.", maskedTextBox1, 5000);
e.Cancel = true;
}
}

Pero ahora no sé como hacer para que me acepte el valor si lo dejo en
blanco.
O sea, si empiezo a teclear la fecha, es imposible salir del control si al
final decido dejarla en blanco.

Como se haria?
Gracias

Preguntas similare

Leer las respuestas

#1 Luis Miguel Blanco
10/01/2008 - 09:37 | Informe spam
Hola Clara

Una posible solución podría ser comprobar, dentro del método de validación,
que el control está vacío, y en caso afirmativo sales del mismo. Algo
parecido al siguiente bloque de código.

//-
public void maskedTextBox1_TypeValidationCompleted(object sender,
TypeValidationEventArgs e)
{
if (this.maskedTextBox1.Text.Length == 0)
{
return;
}

if (!e.IsValidInput)
{
toolTip1.ToolTipTitle = "Invalid Date Value";
toolTip1.Show("We're sorry, but the value you entered is not a valid
date. Please change the value.", maskedTextBox1, 5000);
e.Cancel = true;
}
}
//-

Espero que te sea de utilidad.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com
http://geeks.ms/blogs/lmblanco/


"Clara" wrote:

Hola,
estoy intentando usar el MaskTextBox con una mascara para fechas 00/00/0000
He encontrado este código en MSDN para hacer la validación:

private void Form1_Load(object sender, EventArgs e)
{
maskedTextBox1.ValidatingType = typeof(System.DateTime);
maskedTextBox1.TypeValidationCompleted += new
TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted);
}
public void maskedTextBox1_TypeValidationCompleted(object sender,
TypeValidationEventArgs e)
{
if (!e.IsValidInput)
{
toolTip1.ToolTipTitle = "Invalid Date Value";
toolTip1.Show("We're sorry, but the value you entered is not a valid
date. Please change the value.", maskedTextBox1, 5000);
e.Cancel = true;
}
}

Pero ahora no sé como hacer para que me acepte el valor si lo dejo en
blanco.
O sea, si empiezo a teclear la fecha, es imposible salir del control si al
final decido dejarla en blanco.

Como se haria?
Gracias



Respuesta Responder a este mensaje
#2 Clara
10/01/2008 - 22:35 | Informe spam
Grácias!

"Luis Miguel Blanco" escribió
en el mensaje news:
Hola Clara

Una posible solución podría ser comprobar, dentro del método de


validación,
que el control está vacío, y en caso afirmativo sales del mismo. Algo
parecido al siguiente bloque de código.

//-
public void maskedTextBox1_TypeValidationCompleted(object sender,
TypeValidationEventArgs e)
{
if (this.maskedTextBox1.Text.Length == 0)
{
return;
}

if (!e.IsValidInput)
{
toolTip1.ToolTipTitle = "Invalid Date Value";
toolTip1.Show("We're sorry, but the value you entered is not a


valid
date. Please change the value.", maskedTextBox1, 5000);
e.Cancel = true;
}
}
//-

Espero que te sea de utilidad.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com
http://geeks.ms/blogs/lmblanco/


"Clara" wrote:

> Hola,
> estoy intentando usar el MaskTextBox con una mascara para fechas


00/00/0000
> He encontrado este código en MSDN para hacer la validación:
>
> private void Form1_Load(object sender, EventArgs e)
> {
> maskedTextBox1.ValidatingType = typeof(System.DateTime);
> maskedTextBox1.TypeValidationCompleted += new
> TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted);
> }
> public void maskedTextBox1_TypeValidationCompleted(object sender,
> TypeValidationEventArgs e)
> {
> if (!e.IsValidInput)
> {
> toolTip1.ToolTipTitle = "Invalid Date Value";
> toolTip1.Show("We're sorry, but the value you entered is not a


valid
> date. Please change the value.", maskedTextBox1, 5000);
> e.Cancel = true;
> }
> }
>
> Pero ahora no sé como hacer para que me acepte el valor si lo dejo en
> blanco.
> O sea, si empiezo a teclear la fecha, es imposible salir del control si


al
> final decido dejarla en blanco.
>
> Como se haria?
> Gracias
>
>
>

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida