从面具中删除额外_

时间:2015-04-16 18:01:33

标签: c# winforms maskedtextbox

这两项输入均有效:

(00)0000-0000
(00)10000-0000

所以我使用这个面具:

(00)90000-0000

作为(00)之后的数字之一是可选的,它可以是8位或9位数。但是如果输入有8个数字,那么MaskTextBox最后会显示一个额外的_,就像这个(00)0000-0000_一样,但是作为可选数字的那个,我想删除它。如果它有8位或9位数,则必须分别显示为(00)0000-0000(00)00000-0000。我希望它清楚

2 个答案:

答案 0 :(得分:2)

尝试使用TextChanged事件根据MaskCompleted属性更改PropmtChar属性:

private void MaskedTextBox1_TextChanged(object sender, EventArgs e)
{
    MaskedTextBox1.PromptChar = (MaskedTextBox1.MaskCompleted) ? ' ' : '_' ;
}

答案 1 :(得分:0)

我在这里有同样的问题......我怎么解决了?使用了2个文本框并处理了用户“退格”从第2个到第一个的情况......