簡體   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