在面板中编写.NET WinForm会导致滚动跳转

时间:2009-03-10 18:07:22

标签: c# winforms .net-3.5

我有一个FlowPanelControl和一个自定义用户控件(包含一个标签和按钮)。我正在将自定义用户控件的实例添加到面板的控件集合中,它按预期在彼此之下流动;显示垂直滚动条也很好。

当用户单击其中一个添加的用户控件中的按钮时,它会启动计时器并将已用时间写入标签。当存在多个用户控件实例时,有多个带标签的按钮;所有这些都可以根据需要启动和停止。把它们想象成一个迷你秒表。

我的问题是写入标签会改变包含流程面板的滚动条位置。如果您滚动到底部并且要启动的最后一个用户控件是列表中的第一个,它会将焦点移回到顶部。

我试图阻止对按钮的关注,但不认为这是问题。

有谁知道造成这种情况的原因是什么?非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:0)

我通过将标签更改为文本框解决了我的问题。将值写入列表中的某个控件时,滚动不再闪烁。

答案 1 :(得分:0)

您可以使用TableLayoutPanel“来避免滚动条改变其位置。