如何格式化文本框以显示SSN作为用户类型
本文关键字:SSN 用户 类型 显示 格式化 文本 | 更新日期: 2023-09-27 18:08:53
我有一个文本框,我想实时格式化:###-##-####
作为用户类型。
我有以下代码:
private bool bFlag;
private void tbSSN_TextChanged(object sender, EventArgs e)
{
string str = tbSSN.Text;
if (!bFlag)
{
if (str.Length == 3 || str.Length == 6)
{
tbSSN.Text += "-";
bFlag = true;
tbSSN.SelectionStart = tbSSN.Text.Length;
}
else if (str.Length > 11)
{
tbSSN.Text = tbSSN.Text.Remove(tbSSN.Text.Length - 1);
tbSSN.SelectionStart = tbSSN.Text.Length;
}
}
else
{
bFlag = false;
}
}
唯一的问题是,当我按退格键并尝试再次输入数字时,它允许我输入这种格式:#####--####
或##-#####-##
我知道我必须添加一个KeyPress
事件以确保上述问题得到解决,但我不确定我将如何添加它。
如何编写KeyPress
事件?
使用MaskedTextBox代替普通的TextBox,并为你的TextBox定义一个蒙版。
yourMaskedTextBox.Mask = "000-00-0000";