为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在文本框具有焦点时使某些代码工作?

有没有办法在文本框具有焦点时使某些代码工作?

C#
喵喵时光机 2023-05-13 16:14:40
我一直在尝试用文本框做点什么。我总是需要检查该CaretIndex属性是否低于 3。如果是,我需要将其设置回 3。我看到的唯一方法是循环遍历此代码,同时文本框具有焦点。if (textbox.CaretIndex < 3) textbox.CaretIndex = 3;当文本框具有焦点时,如何使这段代码循环?有GotFocus和LostFocus事件,但它们仅在我单击文本框时才起作用。
查看完整描述

1 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

听起来你真的只需要关注CaretIndex. 最简单的方法是处理 TextBox 的SelectionChanged事件:插入符号是选择的一端,它是可以更改的一端。任何人使用鼠标或键盘更改插入位置的任何操作都会更改选择。


private void TextBox_SelectionChanged(object sender, RoutedEventArgs e)

{


    if (textbox.CaretIndex < 3) 

        textbox.CaretIndex = 3;

}

<TextBox SelectionChanged="TextBox_SelectionChanged"/>


查看完整回答
反对 回复 2023-05-13
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信