2012-10-16 100 views
3

我試圖在選擇某些文本時「滾動」單行文本框,而不更改選擇內容。「滾動」單行文本框

enter image description here

在上面的圖片我有一個文本框,一個以字母M至Z ^選擇,但我不能看到字母在文本框的開頭。

文本框B是我通過將選擇從Z向後拖動到M來手動完成的,它將滾動可見區域,使左側的字母變爲可見。

通過使用下面的代碼,我可以滾動到開始,但我會失去選擇。

txtTest.SelectionStart = 0; 
    txtTest.SelectionLength = 0; 
    txtTest.ScrollToCaret(); 

如何以編程方式選擇M到Z,同時仍顯示文本框中的第一個字符?
(如上圖B)

+0

檢查此鏈接(http://stackoverflow.com/q/8917067/576750[1]) – Badar

回答

0

未經測試,但是當您在帖子中調用該段代碼時,您可以記錄脫字符目前的位置。然後再次啓用該選擇。

int originalSelectionStart = txtTest.SelectionStart; 
int originalSelectionLength = txtTest.SelectionLength; 
txtTest.SelectionStart = 0; 
txtTest.SelectionLength = 0; 
txtTest.ScrollToCaret(); 
txtTest.SelectionStart = originalSelectionStart; 
txtTest.SelectionLength = originalSelectionLength; 
+0

我只是測試你的代碼,但它似乎文本框自動移動的可視區域的結尾選擇。這會再次將前幾個字母「滾動」出來。 – user1751517