En C#, el control MaskedTextBox brinda un procedimiento de validación para la entrada del usuario en el formulario, como fecha, números de teléfono, etc. O, en otras palabras, se usa para proporcionar una máscara que diferencia entre la entrada del usuario correcta e incorrecta. En el control MaskedTextBox, puede enmascarar la entrada de MaskedTextBox usando la propiedad Mask que se usará en tiempo de ejecución para ingresar algún tipo específico de entrada en el cuadro.
Por ejemplo, si desea ingresar el número de teléfono en MaskedTextBox, entonces utilizará la propiedad de máscara. Esta propiedad convierte la entrada en formato de número de teléfono. Es la propiedad predeterminada de MaskedTextBox y si intenta cambiar la máscara cuando MaskedTextBox ya está enmascarado con la máscara anterior. Por lo tanto, reubicará esa entrada de acuerdo con la nueva máscara y, si falla en la reubicación, borrará la entrada existente del MaskedTextBox. El valor predeterminado de esta propiedad es una string vacía, lo que significa que puede contener cualquier string. Puede establecer esta propiedad de dos maneras diferentes:
1. Tiempo de diseño: es la forma más fácil de establecer la propiedad Máscara de MaskedTextBox como se muestra en los siguientes pasos:
- Paso 1: cree un formulario de Windows como se muestra en la siguiente imagen:
Visual Studio -> Archivo -> Nuevo -> Proyecto -> WindowsFormApp - Paso 2: A continuación, arrastre y suelte el control MaskedTextBox desde la caja de herramientas en el formulario. Como se muestra en la siguiente imagen:
- Paso 3: Después de arrastrar y soltar, irá a las propiedades de MaskedTextBox y establecerá la propiedad Máscara de MaskedTextBox. Como se muestra en la siguiente imagen:
Las siguientes son las máscaras disponibles en MaskedTextBox:
Producción:
2. Tiempo de ejecución: es un poco más complicado que el método anterior. En este método, puede establecer la propiedad Mask del control MaskedTextBox mediante programación con la ayuda de la sintaxis dada:
public string Mask { get; set; }
Aquí, la string indica la máscara actual. Si la string aplicada a esta propiedad no pertenece a una máscara válida, generará una excepción InvalidEnumArgumentException . Los siguientes pasos muestran cómo establecer dinámicamente la propiedad Mask de MaskedTextBox:
- Paso 1: Crear un MaskedTextBox usando el constructor MaskedTextBox() proporcionado por la clase MaskedTextBox.
// Creating a MaskedTextBox MaskedTextBox m = new MaskedTextBox();
- Paso 2: después de crear MaskedTextBox, configure la propiedad Mask de MaskedTextBox proporcionada por la clase MaskedTextBox.
// Setting the mask m.Mask = "00/00/0000";
- Paso 3: Y por último agregue este control MaskedTextBox al formulario usando la siguiente declaración:
// Adding MaskedTextBox control on the form this.Controls.Add(m);
Ejemplo:
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
namespace
WindowsFormsApp38 {
public
partial
class
Form1 : Form {
public
Form1()
{
InitializeComponent();
}
private
void
Form1_Load(
object
sender, EventArgs e)
{
// Creating and setting the
// properties of the Label
Label l1 =
new
Label();
l1.Location =
new
Point(413, 98);
l1.Size =
new
Size(176, 20);
l1.Text =
" Example"
;
l1.Font =
new
Font(
"Bell MT"
, 12);
// Adding label on the form
this
.Controls.Add(l1);
// Creating and setting the
// properties of the Label
Label l2 =
new
Label();
l2.Location =
new
Point(242, 135);
l2.Size =
new
Size(126, 20);
l2.Text =
"Phone number:"
;
l2.Font =
new
Font(
"Bell MT"
, 12);
// Adding label on the form
this
.Controls.Add(l2);
// Creating and setting the
// properties of MaskedTextBox
MaskedTextBox m =
new
MaskedTextBox();
m.Location =
new
Point(374, 137);
m.Mask =
"00/00/0000"
;
m.Size =
new
Size(176, 20);
m.Name =
"MyBox"
;
m.BorderStyle = BorderStyle.Fixed3D;
m.BackColor = Color.LightBlue;
m.ForeColor = Color.HotPink;
m.Font =
new
Font(
"Bell MT"
, 18);
// Adding MaskedTextBox
// control on the form
this
.Controls.Add(m);
}
}
}
Producción:
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA