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

Log*_*man 0 c# panel winforms system.graphics

我正在使用WinForms和C#.

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

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

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

Mic*_*ael 7

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