Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取文本框的滚动条位置_C#_.net_Winforms_Frameworks_Scrollbar - Fatal编程技术网

C# 获取文本框的滚动条位置

C# 获取文本框的滚动条位置,c#,.net,winforms,frameworks,scrollbar,C#,.net,Winforms,Frameworks,Scrollbar,我有一个文本框,它的内容不断变化,每当这种情况发生时,滚动条会自动重置回顶部,不仅仅是文本框,我的另一个列表视图也会以同样的方式运行。是否仍要保存当前滚动位置,然后稍后加载?每次发生更改时都要向下滚动文本框/列表视图,这很烦人。只有在使用多行设置为true的普通文本框时,才会发生此行为。如果改用RichTextBox,则添加新文本时滚动条的位置不会改变。请不要在标题前加上C WinForms之类的前缀。这就是标签的作用。不,我想在更新发生之前将其滚动到正确的位置,而不是在最后,因此阅读文本的用户

我有一个文本框,它的内容不断变化,每当这种情况发生时,滚动条会自动重置回顶部,不仅仅是文本框,我的另一个列表视图也会以同样的方式运行。是否仍要保存当前滚动位置,然后稍后加载?每次发生更改时都要向下滚动文本框/列表视图,这很烦人。

只有在使用多行设置为true的普通文本框时,才会发生此行为。如果改用RichTextBox,则添加新文本时滚动条的位置不会改变。

请不要在标题前加上C WinForms之类的前缀。这就是标签的作用。不,我想在更新发生之前将其滚动到正确的位置,而不是在最后,因此阅读文本的用户甚至不会知道框中的内容已更新。我不确定我是否清楚您正试图做什么。如果你愿意,你可以在更新之前和更新之后调用这个代码。我已经尝试过了,但是它只是将滚动条一直移动到了底部,这不是我想要的。我只希望滚动条保持冻结状态,除非用户移动它,而不是通过文本框本身的更新。谢谢。然而,我不太明白他在做什么,你能详细说明一下特别是那些重点的事情吗?如果我使用的是普通的文本框,而不是富文本框,这会起作用吗?@IcySnow,你应该使用富文本框。追加新文本时,调用AppendText方法不会更改滚动位置。当添加新文本时,使用多行设置为true的普通文本框将重置滚动位置。