我正在使用winfom应用程序c#。
我有两个名为Welome
和Details
的表单。
细节包含面板中的7个网格。
情境: 如果我点击欢迎页面上的任何项目,它将进入带有七个网格的详细信息页面。如果我向下拖动滚动条,并在返回欢迎表单后返回,滚动条仍然保持在同一位置。
问题: 我希望每次用户访问详细信息表单时将滚动位置重置为顶部,这样我总能看到第一个网格。
答案 0 :(得分:17)
设置panel1.AutoScroll = true;
然后,在详细信息表单load
事件中,设置
panel1.VerticalScroll.Value = 0;
答案 1 :(得分:0)
如果Angshuman Agarwal的答案对您不起作用,则罪魁祸首很可能是在加载表单中的某些控件后获得了焦点,该控件将滚动到视图中并覆盖滚动位置的任何更改。
您可以将TabStop
设置为false,但是您的表单将不可标签:(
一个笨拙的解决方法,但仍然相对简单,它手动将焦点集中在表单中的第一个控件上:
yourFirstControl1.Select();
另请参见:How to make the panel scroll bar to be at the TOP position on loading the form
答案 2 :(得分:0)
旧帖子,但仍然有意义。以上仅在我添加一行时有效:
array:1 [▼
0 => "dmapi-auth=d0e38a35d83fea420d0bb1e93e2f4b964d0a205b; path=/"
]
然后它很好用,而无需设置任何选项卡索引。
答案 3 :(得分:0)
上面提到的内容很好,但是您应该在Panel1_Paint中添加VerticalScroll.Value
Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint
Panel1.VerticalScroll.Value = 0
End Sub