我一直在嘗試用文本框做點什么。我總是需要檢查該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"/>
- 1 回答
- 0 關注
- 162 瀏覽
添加回答
舉報
0/150
提交
取消