我试图在选择一些文字时向左“滚动”单行文本框,而不更改选择。
在上面的图片中,我有一个文本框A,选择字母M到Z,但我看不到文本框开头的字母。
文本框B是我手动完成的操作,将选择从Z反向拖动到M,滚动可见区域,使左边的字母变为可见。
通过使用下面的代码,我可以滚动到开头,但我将失去选择。
txtTest.SelectionStart = 0;
txtTest.SelectionLength = 0;
txtTest.ScrollToCaret();
如何在仍然显示文本框中的第一个字符的同时以编程方式选择M到Z? (如上图B)
答案 0 :(得分:0)
未经测试,但是当您在帖子中调用该段代码时,您可以记录插入符号的当前位置。然后再次启用该选择。
int originalSelectionStart = txtTest.SelectionStart;
int originalSelectionLength = txtTest.SelectionLength;
txtTest.SelectionStart = 0;
txtTest.SelectionLength = 0;
txtTest.ScrollToCaret();
txtTest.SelectionStart = originalSelectionStart;
txtTest.SelectionLength = originalSelectionLength;