繁体   English   中英

如何为文本框使用遮罩?

[英]How can I use a mask for a textbox?

如何为文本框使用遮罩?

我正在使用 Guna2 框架,那里没有 MaskedTextBox。

您需要手动制作面具。 我尝试了 inte.net 中的一些选项,但它们没有用。

在此之前,我尝试处理键盘按下并在每 2 个字符后用点分隔。 但这是一个糟糕的方法。 谁知道如何使用 DateTime 或其他方法来做到这一点?

    private void guna2TextBox20_TextChanged(object sender, EventArgs e)
    {
        guna2TextBox20.Text = GetMaskedString("dd.MM/yyyy",guna2TextBox20.Text);
    }
    public static string GetMaskedString(string mask, string input)
    {
        try
        {
            MaskedTextProvider provider = new MaskedTextProvider(mask);
            provider.Add(input);
            return provider.ToDisplayString();
        }
        catch { return input; }
    }

我已经试过了。 有效,但向后输入日期

    private void guna2TextBox20_TextChanged(object sender, EventArgs e)
    {
        MaskedTextBox mask = new MaskedTextBox();
        mask.Mask = "00/00/0000";
        mask.Text = guna2TextBox20.Text;
        guna2TextBox20.Text = mask.Text;
    }

只需将MaskedTextBox控件添加到您的表单并将其可见性设置为 false。

它将创建一个您的 MaskedTextProvider 将使用的映射系统

MaskedTextBox 控件是 Windows Forms 的一部分,应该像此屏幕截图中那样在工具箱中可用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM