如果绘制区域太大,则向面板添加垂直滚动条

时间:2012-06-27 23:25:36

标签: c# winforms panel system.graphics

我正在使用WinForms和C#。

我正在开发的应用程序在面板内绘制行的矩形(使用g.DrawRectangle())。面板可以容纳6个宽度的矩形(我不希望水平滚动)。我通过计算行中的矩形来控制应用程序中的这个,然后在第六个矩形之后添加y值。

垂直方向,我希望能够添加无限长方形并向下滚动以查看它们。现在,正在添加矩形,但Panel不会滚动(它们只是在屏幕上添加)。

有没有办法添加垂直滚动条?我已经尝试将AutoScroll属性设置为true,但这没有做任何事情。

1 个答案:

答案 0 :(得分:7)

问题是您正在使用图形在面板上绘图。这些不是控件,因此它们不会导致面板增长。你应该创建两个面板 - PanelA包含PanelB。 PanelA有AutoScroll=true,但您在PanelB上绘图。在绘制时,您还可以设置PanelB的高度,这样当它变得比PanelA大时,PanelA会得到一个滚动条。