Tôi đang cố gắng hiển thị văn bản đã chọn trong điều khiển hộp văn bản sau khi tìm thấy văn bản qua hộp tìm kiếm.`ScrollToCaret` cuộn đến cuối văn bản đã chọn, làm cách nào tôi có thể cuộn đến đầu của văn bản đó?
Tôi đã thử các mã sau:
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
phương pháp cuộn đến cuối văn bản đã chọn hoặc dòng cuối cùng của văn bản đã chọn. Vì vậy, nếu nó kéo dài đến nhiều dòng và chiều cao của phần này lớn hơn chiều cao của hộp văn bản, một phần của văn bản đã chọn có thể vẫn ẩn.
Xin lưu ý rằng tôi cũng không thể đặt dấu mũ cho lựa chọn bắt đầu vì tôi sẽ làm nổi bật phần đánh dấu trên văn bản đã chọn.
Làm cách nào để đảm bảo văn bản đã chọn hiển thị hoặc nói cách khác là cuộn đến dòng đầu tiên của văn bản đã chọn trong khi vẫn giữ nó được tô sáng?
Tôi không thể xác nhận, đây là lựa chọn đầy đủ được hiển thị. – TaW
Giả sử bạn đã cuộn xuống rất nhiều để văn bản dự định của bạn kéo dài trong nhiều dòng bị ẩn, bây giờ nếu bạn chọn văn bản đó và sử dụng ScrollToCaret thì thanh cuộn chỉ dừng ở cuối văn bản đã chọn, vị trí được đặt. – Ahmad