¿Cómo enmascarar la entrada en MaskedTextBox en C#?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *