更新垂直滚动值时设置选项卡滚动条的位置

时间:2011-03-04 15:26:47

标签: .net-4.0 c#-4.0 location scrollbar position

我正在c#应用程序的标签页上动态更新许多控件。标签页已启用自动滚动。您可能知道,当用户向下滚动时,它将位置x = 0,y = 0设置为当前x = 0,y = 0。

这样:

+-----------------------------------+
| X                             |---|    X is now 0,0 in terms of setting locations.
|                               | - |
|                               |---|
|                               |   |
|                               |   |
|                               |   |
|                               |   |  
|                               |   |      
|                               |   |
|                               |   |
|             TEXT              |   |
|                               |   |
+-----------------------------------+

+-----------------------------------+
| X                             |   |    X is now 0,0 in terms of setting locations.
|             TEXT              |   |
|                               |   |
|                               |   |
|                               |   |
|                               |---|
|                               | - |  
|                               |---|      
|                               |   |
|                               |   |
|                               |   |
|                               |   |
+-----------------------------------+

因此,我必须保存VerticalScroll.Value,将其设置为0,更新控件,然后将VerticalScroll.Value设置回原始值。

这在一定程度上有效,选项卡表单的位置是正确的,但滚动条不会更新,所以它看起来像这样:

+-----------------------------------+
|                               |---|  
|             TEXT              | - |
|                               |---|
|                               |   |
|                               |   |
|                               |   |
|                               |   |  
|                               |   |      
|                               |   |
|                               |   |
|                               |   |
|                               |   |
+-----------------------------------+

有没有简单的方法来更新滚动条的位置?

如果我保持原样,当用户再次点击滚动条时,它会将位置移回选项卡表单的顶部。感谢您提供的任何帮助。