3

我试图在选择某些文本时向左“滚动”单行文本框,而不更改选择。

在此处输入图像描述

在上图中,我有一个文本框 A,其中包含字母 M 到 Z 的选择,但我看不到文本框开头的字母。

文本框 B 是我通过将选择从 Z 反向拖动到 M 手动完成的,它滚动可见区域,使左侧的字母变得可见。

通过使用下面的代码,我可以滚动到开头,但我会失去选择。

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

如何以编程方式选择 M 到 Z,同时仍显示文本框中的第一个字符?
(如上图B)

4

1 回答 1

0

未经测试,但是当您在帖子中调用那段代码时,您可以记录插入符号当前的位置。然后再次启用该选择。

int originalSelectionStart = txtTest.SelectionStart;
int originalSelectionLength = txtTest.SelectionLength;
txtTest.SelectionStart = 0;
txtTest.SelectionLength = 0;
txtTest.ScrollToCaret();
txtTest.SelectionStart = originalSelectionStart;
txtTest.SelectionLength = originalSelectionLength;
于 2012-10-16T23:18:45.577 回答