設置SelectionStart和SelectionLength後,插入符號位於選擇的末尾。Windows窗體文本框:選擇和插入位置
如何將插入符號移動到選擇的開頭?
我現在嘗試這樣做:這個問題不是由其他線程
SelectionStart = selStart; // set the desired position
SelectionLength = 0;
MyLibs.WindowsDll.POINT point;
MyLibs.WindowsDll.GetCaretPos(out point); // save the position
SelectionLength = restOfWord.Length; // extend the selection
MyLibs.WindowsDll.SetCaretPos(point.X, point.Y); // restore caret position
GetCaretPos和SetCaretPos在某種程度上工作回答,而不是因爲它應該。 使用上面的代碼片段,插入符號在選擇開始時確實閃爍。
但是...然後我彈出退格或光標向左/右,插入符仍然表現爲仍然在選擇結束。
不要以爲只有託管代碼纔有可能。查看[this](https://stackoverflow.com/questions/9104320/textbox-selectionstart-selectionend-and-caret-cursor-position)類似的問題。 – Saragis
您也可以查看鏈接[here](http://stackoverflow.com/questions/15138165/how-to-set-textbox-cursor-position-without-selectionstart) – sundeep