[Serie Yugong] Explicación detallada del control MaskedTextBox en el tema de control de Winform en septiembre de 2023


Prefacio

Los controles de Winform son elementos de la interfaz de usuario en Windows Forms. Se pueden usar para crear varios componentes visuales e interactivos de aplicaciones de Windows, como botones, etiquetas, cuadros de texto, cuadros de lista desplegable, casillas de verificación, cuadros de radio, barras de progreso, etc. . . Los desarrolladores pueden utilizar controles de Winform para crear interfaces de usuario y responder a las acciones del usuario para crear potentes aplicaciones de escritorio.

1. Explicación detallada del control MaskedTextBox

El control MaskedTextBox es un control de cuadro de texto en Winform, que se utiliza para limitar el formato de entrada del usuario. Le permite especificar el formato de entrada y formatear automáticamente la entrada. Por ejemplo, puede usarlo para restringir el formato de entrada de fecha o el formato de números de teléfono, etc.

El control MaskedTextBox tiene una propiedad Máscara en la que puede establecer restricciones de entrada. A continuación se muestran algunos formatos de entrada comúnmente utilizados:

  1. Formato de fecha: establezca la propiedad Máscara en "00/00/0000" para limitar el cuadro de texto al formato de fecha, como "01/01/2000".

  2. Formato de hora: establezca la propiedad Máscara en "00:00" y limite el cuadro de texto al formato de hora, como "12:30".

  3. Formato del número de teléfono: establezca la propiedad Máscara en "(999) 000-0000" y limite el cuadro de texto al formato del número de teléfono, como "(123) 456-7890".

  4. Formato de código postal: establezca la propiedad Máscara en "00000" y limite el cuadro de texto al formato de código postal, como "12345".

  5. Formato personalizado: puede usar un solo carácter (como "0", "9", "a", etc.) para indicar que se puede ingresar cualquier carácter; o usar "#" para indicar que se pueden ingresar números; o use "@" para indicar que ingrese letras.

Al configurar la propiedad PromptChar, puede configurar los caracteres que aparecen en el cuadro de texto cuando no se ingresa ningún carácter. Por ejemplo, si establece la propiedad PromptChar en " ", " " se mostrará cuando no se ingresen caracteres en el cuadro de texto .

Además de las propiedades Mask y PromptChar, el control MaskedTextBox tiene otras propiedades útiles, como la propiedad InsertKeyMode y la propiedad HidePromptOnLeave, que pueden ayudarle a controlar el comportamiento del control.

1. Introducción a las propiedades

1.1 Permitir mensaje como entrada

La propiedad AllowPromptAsInput es una propiedad del control MaskedTextBox y se utiliza para especificar si el carácter PromptChar se considera un carácter de entrada. De forma predeterminada, si el usuario intenta ingresar un carácter PromptChar, el control lo ignora y salta al siguiente carácter válido.

Cuando AllowPromptAsInput se establece en verdadero, los caracteres PromptChar se tratarán como caracteres ingresables, lo que significa que el usuario puede ingresar cualquier carácter, incluidos los caracteres PromptChar. Esto puede resultar útil para determinados formatos de entrada, como permitir al usuario introducir símbolos como corchetes o guiones en un número de teléfono.

El siguiente es un ejemplo de uso del atributo AllowPromptAsInput:

private void Form1_Load(object sender, EventArgs e)
{
    
    
    maskedTextBox1.Mask = "(999) 000-0000";
    maskedTextBox1.PromptChar = '_';
    maskedTextBox1.AllowPromptAsInput = true;
}

Insertar descripción de la imagen aquí

En el código anterior, especificamos un formato de número de teléfono y configuramos la propiedad PromptChar en "_". También configuramos la propiedad AllowPromptAsInput en verdadero para permitir al usuario ingresar caracteres PromptChar. De esta manera, si el usuario desea ingresar símbolos como corchetes o guiones en su número de teléfono, podrá ingresarlos directamente sin ser ignorado.

Tenga en cuenta que habilitar la propiedad AllowPromptAsInput puede hacer que el control acepte alguna entrada no válida y puede romper el formato de entrada especificado si se usa incorrectamente. Por lo tanto, esta propiedad debe utilizarse con precaución.

1.2 Sólo Ascii

La propiedad AsciiOnly del control MaskedTextBox se utiliza para restringir los caracteres ingresados ​​por el usuario en el cuadro de entrada a caracteres ASCII. Este atributo no es adecuado para situaciones en las que es necesario ingresar caracteres que no sean ASCII.

Si desea que el usuario ingrese solo caracteres ASCII, puede usar el atributo AsciiOnly siguiendo estos pasos:

  1. Agregue un control MaskedTextBox a su formulario.

  2. Busque la propiedad AsciiOnly en la ventana de propiedades y establezca su valor en Verdadero.

  3. Ejecute el programa e ingrese cualquier carácter que no sea ASCII en MaskedTextBox. Verá que la entrada no es válida y no se mostrarán caracteres que no sean ASCII en el cuadro de texto.

1.3 BeepOnError

El control MaskedTextBox es un control de entrada en Winform que puede formatear y verificar el contenido de entrada. La propiedad BeepOnError es una propiedad del control MaskedTextBox que emite un pitido cuando se produce un error de entrada.

Cuando la propiedad BeepOnError se establece en True, si el contenido ingresado por el usuario no se ajusta al formato especificado, MaskedTextBox emitirá un pitido para avisar al usuario de un error de entrada. Si se establece en False, no se emitirá ningún sonido de aviso.

He aquí un ejemplo:

// 创建一个MaskedTextBox控件
MaskedTextBox maskedTextBox1 = new MaskedTextBox();

// 设置掩码格式
maskedTextBox1.Mask = "0000-00-00";

// 设置BeepOnError属性
maskedTextBox1.BeepOnError = true;

Insertar descripción de la imagen aquí

En el ejemplo anterior, el formato de máscara de MaskedTextBox está configurado en "0000-00-00", es decir, el usuario solo puede ingresar 4 dígitos, un guión, 2 dígitos, otro guión y 2 dígitos. Si el contenido ingresado por el usuario no se ajusta a este formato, MaskedTextBox emitirá un pitido para indicarle al usuario un error de entrada.

1.4 CortarCopiarFormatoMáscara

La propiedad CutCopyMaskFormat del control MaskedTextBox se usa para especificar el formato de texto usado al copiar o cortar operaciones.

Este atributo tiene tres valores opcionales:

  1. MaskFormat: La operación de copiar o cortar utilizará el formato de máscara. Es decir, sólo se copia o corta el texto real en el control de entrada, excluyendo los caracteres de máscara.

  2. IncludeLiterals: una operación de copiar o cortar utilizará un formato de máscara que contiene literales, incluidos caracteres de máscara.

  3. ExcludePromptAndLiterals: la operación de copiar o cortar utilizará un formato de máscara que no incluye mensajes ni literales. Solo se copiará o cortará el texto real en el control de entrada, excluyendo caracteres de máscara y mensajes.

Ejemplo de uso:

Supongamos que la propiedad Máscara del control MaskedTextBox está configurada en "(999) 000-0000", que es el formato del número de teléfono. pero:

  1. Si la propiedad CutCopyMaskFormat está configurada en MaskFormat, al copiar el texto "1234567890" se obtendrá el resultado de la copia "(123) 456-7890", excluyendo el carácter de máscara.

  2. Si la propiedad CutCopyMaskFormat está configurada en IncludeLiterals, al copiar el texto "1234567890" se obtendrá el resultado de la copia "(999) 123-4567", incluido el carácter de máscara.

  3. Si la propiedad CutCopyMaskFormat está establecida en ExcludePromptAndLiterals, al copiar el texto "1234567890" se obtendrá el resultado de la copia "1234567890", excluyendo los caracteres de máscara y las indicaciones.

1.5 Ocultar mensaje al salir

La propiedad HidePromptOnLeave es una propiedad del control MaskedTextBox. Cuando se establece en verdadero, cuando el foco abandona el control, el carácter de solicitud de máscara se ocultará y solo se mostrará el texto ingresado. Cuando se establece en falso, los caracteres del mensaje de máscara permanecerán cuando el foco abandone el control.

Por ejemplo, cuando la entrada de la máscara es un número de teléfono móvil, si la propiedad HidePromptOnLeave se establece en verdadero, después de que el usuario ingresa el número de teléfono móvil de 11 dígitos y abandona el control, el control solo mostrará el número de 11 dígitos ingresado. y los caracteres del mensaje de máscara no se mostrarán. Si se establece en falso, el carácter de solicitud de máscara seguirá apareciendo cuando el usuario abandone el control para que el usuario conozca la posición del número ingresado actualmente.

Cómo usarlo:

  1. Agregue un control MaskedTextBox al formulario Winform.

  2. Busque la propiedad HidePromptOnLeave en la ventana de propiedades y configúrela en verdadero o falso.

  3. Al utilizar este control en el código, puede controlar la visualización de los caracteres de solicitud de máscara a través de la propiedad HidePromptOnLeave del control.

1.6 Ocultar selección

La propiedad HideSelection del control MaskedTextBox se usa para establecer si el contenido seleccionado se oculta cuando el control pierde el foco o ya no es el control activo.

Cuando la propiedad HideSelection se establece en verdadero, significa que la selección se ocultará cuando el control pierda el foco o ya no sea el control activo.

Cuando la propiedad HideSelection se establece en falso, lo que significa que cuando el control pierde el foco o ya no es el control activo, la selección permanecerá seleccionada y resaltada con un color inverso.

Código de muestra:

//设置HideSelection属性为true
maskedTextBox1.HideSelection = true;

//设置HideSelection属性为false
maskedTextBox1.HideSelection = false;

Nota: Cuando la propiedad ReadOnly del control MaskedTextBox se establece en verdadero, la selección permanecerá seleccionada y resaltada con un color inverso independientemente de si la propiedad HideSelection está establecida en verdadero o falso.

1.7 Modo Milagro

La propiedad ImeMode del control MaskedTextBox se utiliza para establecer el modo del método de entrada del control. El modo de método de entrada afecta cómo se muestra el método de entrada en el control.

Los valores del atributo ImeMode son los siguientes:

  • Alfa: modo de método de entrada normal, adecuado para introducir letras, números, símbolos, etc.
  • Kana: método de entrada japonés únicamente, utilizado para ingresar Hiragana y Katakana.
  • Hangul: solo aplicable al método de entrada coreano, utilizado para ingresar coreano.
  • Hiragana: solo aplicable al método de entrada japonés, utilizado para ingresar Hiragana.
  • Katakana: solo aplicable al método de entrada japonés, utilizado para ingresar katakana.
  • NoControl: deshabilita el método de entrada.
  • Apagado: el método de entrada no está disponible.
  • Activado: el modo de método de entrada predeterminado, adecuado para introducir cualquier carácter.

Por ejemplo, si desea permitir que solo se ingresen caracteres chinos en el control MaskedTextBox, puede establecer la propiedad ImeMode en ImeMode.Hangul.

En tiempo de diseño, puede configurar la propiedad ImeMode directamente en la ventana de propiedades; en tiempo de ejecución, puede configurar la propiedad ImeMode a través del código, como se muestra a continuación:

maskedTextBox1.ImeMode = ImeMode.Hangul;

1.8 Modo InsertarClave

La propiedad InsertKeyMode del control MaskedTextBox se utiliza para establecer el modo de inserción de claves, lo que determina el comportamiento de inserción de claves.

La propiedad InsertKeyMode tiene dos valores opcionales:

  1. InsertMode: Cuando se presiona la tecla Insertar, la posición actual del cursor cubrirá los caracteres hacia atrás comenzando desde esta posición.

  2. Modo de sobreescritura: cuando se presiona la tecla Insertar, la posición actual del cursor sobrescribirá el carácter debajo del cursor.

Para utilizar la propiedad InsertKeyMode, se puede configurar en tiempo de diseño o en el código. En tiempo de diseño, puede encontrar la propiedad InsertKeyMode en la ventana de propiedades y seleccionar el modo deseado. En código, esto se puede configurar mediante:

maskedTextBox1.InsertKeyMode = InsertKeyMode.OverwriteMode;

Cabe señalar que si la propiedad Mask del control MaskedTextBox contiene marcadores de posición, la propiedad InsertKeyMode no será válida y la entrada solo se podrá realizar en modo superposición.

1.9 Máscara

El control MaskedTextBox es un control de cuadro de texto en Winform, tiene funciones especiales usando la propiedad Mask. La propiedad Máscara le permite establecer un formato específico para la entrada, lo que puede ayudar a los usuarios a ingresar datos más rápido y garantizar que los datos tengan el formato correcto.

A continuación se muestran algunos ejemplos del uso del control MaskedTextBox:

1.Formato de fecha

El control MaskedTextBox puede usar una máscara de formato de fecha, como "00/00/0000", que puede obligar a los usuarios a mantener un formato determinado al ingresar fechas. Si el usuario intenta ingresar un valor que no coincide con el formato, el control rechaza automáticamente la entrada.

2. Formato del número de teléfono

Puede utilizar una máscara de formato para crear un formato de número de teléfono, como "(000) 000-0000". Esto facilitará a los usuarios ingresar números de teléfono y formatear automáticamente los números de teléfono en un formato específico.

3. Formato del código postal

El control MaskedTexBox también puede utilizar máscaras de formato de código postal, como "00000-0000". Esto garantiza que los usuarios ingresen el código postal correcto mientras mantienen un formato consistente.

Al utilizar máscaras, el control MaskedTextBox facilita a los usuarios la introducción de datos y garantiza que los datos de entrada tengan el formato correcto.

1.10 Carácter de contraseña

El control MaskedTextBox es un control de cuadro de texto en Windows Forms que puede proporcionar máscaras, como fecha, hora, número de teléfono, etc. La propiedad PasswordChar es el carácter utilizado en el cuadro de texto de máscara para enmascarar el texto ingresado por el usuario.

Cuando necesite ingresar una contraseña, puede establecer la propiedad PasswordChar del control MaskedTextBox en cualquier carácter para enmascarar el texto ingresado, por ejemplo:

// 设置掩码文本框的PasswordChar属性为'*'
maskedTextBox1.PasswordChar = '*';

En el ejemplo de código anterior, al establecer la propiedad PasswordChar en el carácter asterisco (*), se enmascarará el texto ingresado por el usuario.

Cabe señalar que configurar la propiedad PasswordChar no convertirá automáticamente el texto ingresado en el control MaskedTextBox en una contraseña, y el desarrollador aún necesitará cifrar manualmente el texto de la contraseña.

1.11 Carácter rápido

El control MaskedTextBox es un control utilizado para ingresar cadenas formateadas. El atributo PromptChar es un marcador de posición que se utiliza para establecer caracteres no ingresados ​​en la máscara. Normalmente, el valor predeterminado es el guión bajo "_".

Por ejemplo, si configura una máscara de número de teléfono de "(000) 000-0000" y la propiedad PromptChar está configurada en "X", entonces, si el usuario solo ingresa los primeros tres dígitos "123", se completará automáticamente como " (123) XXX-XXXX”.

Puede establecer la propiedad PromptChar en cualquier carácter según sea necesario, como " ", "#", etc. Por ejemplo, si desea que los caracteres sin escribir en la máscara se representen mediante un asterisco " ", puede establecer la propiedad PromptChar en "*".

He aquí un ejemplo sencillo:

// 设置掩码
maskedTextBox1.Mask = "000-000-0000";
// 设置PromptChar
maskedTextBox1.PromptChar = '*';

Insertar descripción de la imagen aquí

1.12 Rechazar entrada en primer fallo

La propiedad RejectInputOnFirstFailure del control MaskedTextBox se utiliza para controlar si se rechaza la entrada del usuario. Cuando esta propiedad se establece en verdadero, si los caracteres ingresados ​​por el usuario no cumplen con las reglas de máscara, el control rechazará la entrada y mostrará el valor de entrada legal anterior, incluso si el usuario no ha completado la entrada. Cuando esta propiedad se establece en falso, el usuario puede continuar escribiendo hasta que se ingrese la regla de máscara completa o borrar la entrada manualmente. Por defecto, esta propiedad es verdadera.

El siguiente código demuestra cómo utilizar la propiedad RejectInputOnFirstFailure:

MaskedTextBox maskedTextBox = new MaskedTextBox();
maskedTextBox.Mask = "00/00/0000";
maskedTextBox.RejectInputOnFirstFailure = true;

En el ejemplo anterior, se crea un control MaskedTextBox con una máscara de "00/00/0000" y su propiedad RejectInputOnFirstFailure se establece en verdadero. De esta forma, si los caracteres ingresados ​​por el usuario no cumplen con las reglas de máscara, serán rechazados y se mostrará el valor de entrada legal anterior.

1.13 ResetOnPrompt、ResetOnSpace

El control MaskedTextBox es un control que se utiliza para ingresar texto en un formato específico en Windows Forms. ResetOnPrompt y ResetOnSpace son sus dos propiedades importantes. Permítanme presentarles el uso de estas dos propiedades:

  1. Restablecer la propiedad OnPrompt

Cuando la propiedad ResetOnPrompt se establece en verdadero, después de los caracteres válidos en el control de entrada, si el usuario escribe el carácter de solicitud de máscara, la entrada se borra automáticamente. Por ejemplo, cuando configura la máscara MaskedTextBox en "000-00-0000" (Número de seguro social) y la propiedad ResetOnPrompt es verdadera, si el usuario ingresa "123-45" y luego ingresa una máscara después de "-" Carácter de solicitud de código "_", se borrarán todas las entradas porque no se ajustan a la entrada esperada.

  1. Restablecer propiedad en el espacio

Cuando la propiedad ResetOnSpace se establece en verdadero, la entrada se borra automáticamente si el usuario escribe un espacio después de un carácter válido en el control de entrada. Por ejemplo, cuando configura la máscara MaskedTextBox en "00/00/0000" (fecha) y la propiedad ResetOnSpace es verdadera, si el usuario ingresa un espacio después del primer "00", todo el contenido ingresado se borrará porque esto no no se ajusta a la entrada esperada.

En general, las propiedades ResetOnPrompt y ResetOnSpace pueden ayudarle a garantizar la exactitud del formato especificado por la máscara de entrada del usuario y mejorar la precisión de la entrada de datos.

1.14 Atajos habilitados

La propiedad ShortcutsEnabled del control MaskedTextBox se usa para controlar si las teclas de método abreviado del sistema están habilitadas. De forma predeterminada, el valor de esta propiedad es verdadero, lo que significa que las teclas de acceso directo del sistema están habilitadas.

Cuando el valor de esta propiedad sea verdadero, las siguientes teclas de método abreviado del sistema estarán disponibles:

  • Ctrl+C: copiar
  • Ctrl+X: Cortar
  • Ctrl+V: Pegar
  • Ctrl+A: Seleccionar todo
  • Ctrl+Z: Deshacer
  • Ctrl+Y: Rehacer

Si necesita deshabilitar estas teclas de acceso directo del sistema, puede establecer esta propiedad en falso. De esta manera, los usuarios no podrán utilizar teclas de acceso directo para operar el contenido del cuadro de texto.

1.15 Saltar Literales

La propiedad SkipLiterals del control MaskedTextBox indica si se deben omitir literales en la máscara. Los valores literales son los caracteres que no son espacios en la máscara y que representan el texto fijo que debe contener el cuadro de texto. Por ejemplo, si la máscara es "000-00-0000", entonces "-" es un valor literal.

Si la propiedad SkipLiterals se establece en verdadero, solo se mostrará en el cuadro de texto la parte de la máscara que no esté marcada como literal. En el ejemplo anterior, al ingresar "123456789" se mostrará como "123-45-6789".

Si la propiedad SkipLiterals se establece en false (el valor predeterminado), el cuadro de texto mostrará la máscara completa y los literales aparecerán tal como aparecen en la máscara. En el ejemplo anterior, al ingresar "123456789" se mostrará como "123-456-789".

Cabe señalar que la propiedad SkipLiterals solo afecta la visualización del cuadro de texto y no afecta el valor real guardado en el cuadro de texto. Independientemente del valor de la propiedad SkipLiterals, el valor en el cuadro de texto tendrá el formato especificado en la máscara, incluidos los valores literales y los espacios.

1.16 Formato de máscara de texto

El control MaskedTextBox es un control de Windows Forms que se utiliza para ingresar texto formateado. Le permite formatear el texto de entrada, como números de teléfono, códigos postales, fechas, etc.

La propiedad TextMaskFormat es una propiedad del control MaskedTextBox, que determina si el texto ingresado en el control incluye caracteres de máscara.

Esta propiedad tiene dos valores de enumeración:

  1. Máscara: el texto ingresado incluye caracteres de máscara. Por ejemplo, al ingresar un número de teléfono, los caracteres de máscara son corchetes y guiones.

  2. ExcludePromptAndLiterals: el texto ingresado no incluye caracteres de máscara. Por ejemplo, al ingresar un número de teléfono, solo se incluyen caracteres numéricos.

El valor predeterminado es Máscara.

A continuación se muestra un ejemplo sencillo que demuestra cómo utilizar la propiedad TextMaskFormat:

//设置掩码格式
maskedTextBox1.Mask = "(999) 000-0000";

//设置TextMaskFormat属性为ExcludePromptAndLiterals(输入的文本不包括掩码字符)
maskedTextBox1.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals;

En el ejemplo anterior, configuramos el formato de máscara del control MaskedTextBox en "(999) 000-0000" y luego configuramos la propiedad TextMaskFormat en ExcludePromptAndLiterals, lo que significa que el texto ingresado no contiene caracteres de máscara.

1.17 Usar sistemaContraseñaChar

El control MaskedTextBox es un control de uso común en Winform y se usa para ingresar texto enmascarado. Entre ellos, el atributo UseSystemPasswordChar se utiliza para mostrar si los caracteres ingresados ​​son caracteres de contraseña. Si se establece en verdadero, el control utilizará los caracteres de contraseña predeterminados del sistema para ocultar el contenido de entrada; de lo contrario, el control utilizará caracteres de contraseña personalizados para ocultar el contenido de entrada.

De forma predeterminada, la propiedad UseSystemPasswordChar del control MaskedTextBox es falsa y utiliza un carácter de contraseña personalizado para ocultar el contenido de entrada. Este carácter de contraseña personalizado se puede establecer a través de la propiedad PasswordChar del control. Normalmente lo estableceremos en "*".

Si queremos utilizar los caracteres de contraseña predeterminados del sistema para ocultar el contenido de entrada, debemos establecer la propiedad UseSystemPasswordChar en verdadero. En este momento, el control utilizará automáticamente los caracteres de contraseña predeterminados del sistema para ocultar el contenido de entrada, sin configurar la propiedad PasswordChar.

Cabe señalar que diferentes sistemas operativos pueden usar diferentes caracteres de contraseña, por lo que se debe considerar la compatibilidad entre plataformas al configurar la propiedad UseSystemPasswordChar.

2. Escenarios comunes

El control MaskedTextBox se usa a menudo en escenarios donde el formato del texto de entrada debe restringirse y controlarse, como por ejemplo:

  1. Entrada de fecha y hora: puede limitar la entrada de formato de fecha y hora por parte de los usuarios configurando el formato de fecha, etc.

  2. Entrada de número de teléfono: puede limitar el formato del número de teléfono ingresado por los usuarios configurando el formato del número de teléfono (como (999)999-9999).

  3. Entrada de código postal: también puede limitar el formato del código postal ingresado por los usuarios configurando el formato.

  4. Entrada del número de identificación: puede limitar el formato del número de identificación ingresado por el usuario configurando el formato del número de identificación.

  5. Entrada numérica: puede restringir a los usuarios para que solo ingresen números configurando el formato del número.

  6. Otro formato de entrada específico: como dirección IP, dirección MAC, etc.

3. Casos específicos

Supongamos que necesitamos permitir que el usuario ingrese una fecha válida, podemos usar el control MaskedTextBox para restringir al usuario a ingresar solo fechas que se ajusten al formato especificado.

Primero, cree una aplicación Winform en Visual Studio y agregue un control MaskedTextBox y un control de botón al formulario.

A continuación, en la ventana de propiedades de MaskedTextBox, establezca la propiedad Máscara en "00/00/0000", la propiedad TextMaskFormat en "IncludeLiterals" y la propiedad SkipLiterals en "False", lo que indica que se incluyen los caracteres de máscara y se ignoran los caracteres literales. .

Agregue el siguiente código al evento Click del botón:

private void btnSubmit_Click(object sender, EventArgs e)
{
    
    
    DateTime inputDate;
    if (DateTime.TryParseExact(maskedTextBox1.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out inputDate))
    {
    
    
        MessageBox.Show("输入的日期为:" + inputDate.ToString("dd/MM/yyyy"));
    }
    else
    {
    
    
        MessageBox.Show("请输入有效的日期");
    }
}

El código anterior convertirá la cadena de fecha ingresada por el usuario al tipo DateTime. Si la conversión se puede realizar correctamente, aparecerá un cuadro de mensaje para mostrar la fecha convertida. De lo contrario, se le pedirá al usuario que ingrese una fecha válida.

Finalmente, ejecute el programa, ingrese una fecha válida (como 01/01/2021), haga clic en el botón enviar y verá la información de la fecha convertida.

El código completo es el siguiente:

using System;
using System.Globalization;
using System.Windows.Forms;

namespace MaskedTextBoxDemo
{
    
    
    public partial class Form1 : Form
    {
    
    
        public Form1()
        {
    
    
            InitializeComponent();
        }

        private void btnSubmit_Click(object sender, EventArgs e)
        {
    
    
            DateTime inputDate;
            if (DateTime.TryParseExact(maskedTextBox1.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out inputDate))
            {
    
    
                MessageBox.Show("输入的日期为:" + inputDate.ToString("dd/MM/yyyy"));
            }
            else
            {
    
    
                MessageBox.Show("请输入有效的日期");
            }
        }
    }
}

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/aa2528877987/article/details/132869197
Recomendado
Clasificación