我使用带电话号码掩码的带掩码文本框,如果单击控件,则在单击鼠标的任何位置都将设置光标位置。我想覆盖游标的默认位置,以便:
如果未输入任何文本,则光标将定位在文本框的开头。
如果已经输入了文本并单击了控件,则将光标放在最后输入的数字之后。
有没有办法做到这一点?
编辑
有人建议使用以下代码:
PhoneNumber.SelectionStart = PhoneNumber.Text.Length;
但这是行不通的,因为长度计数中包含掩码文字,这会弄乱光标的位置。我知道您可以将textmaskformat属性设置为排除文字,但是由于文字仍然显示,因此计数仍然不正确。
您可以使用LastAssignedPosition
从属性MaskedTextProvider
类,可作为的属性MaskedTextBox
:
maskedTextBox1.SelectionStart
= maskedTextBox1.MaskedTextProvider.LastAssignedPosition + 1;
maskedTextBox1.SelectionLength = 0;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句