如何为文本框手动创建遮罩?

时间:2017-04-25 14:20:43

标签: c#

我正在使用NuGet包中的MetroFramework,它看起来很棒。但它没有蒙面文本框。当用户输入数字时,如何手动将. - () $等字符显示在正确的位置?

也许有一种更简单的方法可以将MetroTextbox的模型应用到普通的蒙版文本框,就像css类一样?那会更容易。

另外,我如何使用它来仅允许输入数字

private void textbox_KeyPress(object sender, KeyPressEventArgs e)
{
    e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
}

我怎样才能更多地允许一个特定字符,例如,

1 个答案:

答案 0 :(得分:0)

看一下ReferenceSource上的MaskedTextBox实现

https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/MaskedTextBox.cs,028398947b443e62

基本上它使用的是MaskedTextProvider,并且在很大程度上依赖于它的功能。