我想通過搜索框找到文本後,在文本框控件中顯示所選文本。`ScrollToCaret`滾動到所選文字的末尾,我如何滾動到開始的位置?
我嘗試以下的代碼:
String searchText = "multiple lines of text.";
int position = textBox.Text.IndexOf(searchText);
textBox.SelectionStart = position;
textBox.SelectionLength = searchText.Length;
textBox.ScrollToCaret(); // caret is at the end of the selected text
ScrollToCaret
方法滾動到選定的文本或選定文本的最後一行的末尾。因此,如果跨越多行並且此部分的高度大於文本框的高度,則部分選定的文本可能保持不可見。
請注意,我無法將插入符號設置爲選擇開始,因爲我將忽略所選文本的突出顯示。
如何確保選定的文本可見或換句話說滾動到所選文本的第一行並保持突出顯示?
我不能確認,這裏顯示的完整選擇。 – TaW 2014-10-30 14:32:00
假設你已經滾動得多,所以你想要的文本跨越多行是隱藏的,現在如果你選擇那個文本並使用ScrollToCaret,那麼滾動條就停在所選文本的最後,放置關注點。 – Ahmad 2014-10-30 16:05:54