首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF: MaskedTextBox + SetCaret

WPF: MaskedTextBox + SetCaret
EN

Stack Overflow用户
提问于 2015-02-18 17:28:18
回答 1查看 941关注 0票数 2

因此,我目前正在使用和MaskedTextBox,并将掩码设置为:

(千)-000

这是一个电话号码的格式。

我的问题是,如果用户用鼠标选择文本框,单击插入符号就会到达光标所在的位置(除非光标超出了掩码的范围,否则插入符号默认为末尾。

如果我在文本框中选项卡,它将插入符号设置在打开括号之后,这就是我所要寻找的,但它的行为方式与鼠标单击不一样。

我尝试了以下几点:

试图在实际的工具箱文件中使用mousedown、mouseup、ongotfocus等重写工具。

代码语言:javascript
复制
protected override void OnMouseDown(MouseButtonEventArgs e)
{
    this.Select(1,0);
    base.OnMouseDown(e);
}

还试图在实际的MaskedTextBox上设置事件,并将代码放在后面。

我已经在网上搜索过了,但还是什么都没有。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-19 09:47:40

这应该适用于您;在标记中:

代码语言:javascript
复制
<xctk:MaskedTextBox x:Name="MyMaskedTextBox"  Mask="(000) 000-000" PreviewMouseDown="MyMaskedTextBox_PreviewMouseDown"></xctk:MaskedTextBox>

事件处理程序:

代码语言:javascript
复制
private void MyMaskedTextBox_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
    MyMaskedTextBox.Focus();
    MyMaskedTextBox.Select(1, 0);
    e.Handled = true;            
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28589948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档