使用autoscroll(c#)将控件添加到面板

时间:2014-10-08 17:16:30

标签: c# .net scroll controls add

我有一个属性为AutoScroll = true的小组。 通过向面板动态添加其他控件而无需滚动 - 一切正常!

void addControl(){
    int top = 13 + ( this.Controls.Count * cmdSet.Height );
    ucCommandSet cmdSet = new ucCommandSet() { Top = top };
    this.Controls.Add( cmdSet );
}

但是,如果滚动条插入的位置与TOP [0]不同,则控件会进一步向下添加。

我需要在计算中包含哪些属性?

关于raiserle


@LarsTech的解决方案:

void addControl(){
    int top = 13 + ( this.Controls.Count * cmdSet.Height ) + this.AutoScrollPosition.Y;
    ucCommandSet cmdSet = new ucCommandSet() { Top = top };
    this.Controls.Add( cmdSet );
}

1 个答案:

答案 0 :(得分:3)

我猜你需要补偿滚动位置:

{ Top = top + this.AutoScrollPosition.Y };

顺便说一下,FlowLayoutPanel会为你做这件事。