使图片框动态滚动

Make a picturebox scroll dynamically

我在这里看到了一些答案,但没有找到适合我的问题的答案。

我有一个图片框,我在上面动态绘制了一些矩形(例如:)。

现在,如果我画了很多矩形,那么图片框不够大,我看不到所有的矩形...所以我需要使图片框可滚动。

怎么可能?

注意:我没有面板,只有我通过代码动态填充的 PictureBox。

你应该把 PictureBox 放在 Panel 里面,AutoScroll=true

然后你可以根据需要简单地使 PictureBox 变大,甚至可以在创建 DrawRectangles 的地方..:[=​​16=]

public DrawRectangle(Rectangle r, Color c, float w, Control ct)
{
    color = c;
    width = w;
    rect = r;
    surface = ct;

    if ((r.Right > surface.Width)  ||  (r.Bottom > surface.Height))
    {
        surface.Size = new Size(Math.Max(surface.Width, r.Right),
                                Math.Max(surface.Height, r.Bottom)) ;
    }
}