如何仅从遮罩文本框复制数字到标签

本文关键字:复制 数字 标签 文本 何仅 | 更新日期: 2023-09-27 18:06:18

我用蒙版(999) 000-0000创建了一个用于保存数字的蒙版文本框,我想在标签中只显示数字,但是当我这样做时,它也会复制括号和行。
我知道它复制了所有的文本。我如何只能复制没有蒙版输入的数字?(windows窗体)

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 WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text = maskedTextBox1.Text;
        }
    }
}

如何仅从遮罩文本框复制数字到标签

一种解决方案是在读取TextMaskFormat的值之前将其设置为ExcludePromptAndLiterals:

maskedTextBox1.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals;
Console.WriteLine(maskedTextBox1.Text); 
//will print 3123 when value in the mask textbox is (31) 23 for mask (00) 00

在此集合之后Format back:

maskedTextBox1.TextMaskFormat = MaskFormat.IncludeLiterals;

即使你不会将格式设置回IncludeLiterals, UI控件仍然会显示遮罩文本(31) 23,并将像往常一样工作。如果您的其他逻辑依赖于掩码Text字段,则可以这样做。

如果你没有这样的依赖关系,你可以在Visual Studio设计器的maskedTextBox1属性窗口中设置这个值