我试图在选择某些文本时向左“滚动”单行文本框,而不更改选择。
在上图中,我有一个文本框 A,其中选择了字母 M 到 Z,但我看不到文本框开头的字母。
文本框 B 是我通过将所选内容从 Z 反向拖动到 M 手动完成的,这会滚动可见区域,使左侧的字母变得可见。
通过使用下面的代码,我可以滚动到开头,但我会失去选择。
txtTest.SelectionStart = 0;
txtTest.SelectionLength = 0;
txtTest.ScrollToCaret();
如何以编程方式选择 M 到 Z,同时仍显示文本框中的第一个字符?
(如上图B)
最佳答案
未经测试,但当您在帖子中调用该段代码时,您可以记录插入符当前所在的位置。然后再次启用该选择。
int originalSelectionStart = txtTest.SelectionStart;
int originalSelectionLength = txtTest.SelectionLength;
txtTest.SelectionStart = 0;
txtTest.SelectionLength = 0;
txtTest.ScrollToCaret();
txtTest.SelectionStart = originalSelectionStart;
txtTest.SelectionLength = originalSelectionLength;
关于c# - "scroll"单行文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12924814/