如何在使用paint时在WinForms中实现垂直和水平滚动条?

在我的代码中,我画了一个矩形,通常矩形对于屏幕来说太大了,即使最大化也是如此。 我已将表单属性AutoScroll设置为true,这似乎没有做任何事情。 除了矩形绘画外,我的表单上没有任何其他内容,如何实现垂直和水平滚动?

  PrintingDesignForm form = new PrintingDesignForm(); form.Paint += (se, pe) => { var r = new Rectangle(parameters.RectangleXPosition, parameters.RectangleYPosition, (int)Math.Ceiling(parameters.RectangleWidth) * 72, (int)Math.Ceiling(parameters.RectangleLength) * 72); var brush = new SolidBrush(Color.FromArgb(255, 255, 204)); pe.Graphics.FillRectangle(brush, r); using (var pen = new Pen(brush.Color, 2)) pe.Graphics.DrawRectangle(pen, r); }; form.WindowState = FormWindowState.Maximized; form.Show(); 

仅在Control/Form上设置AutoScroll = true将仅确保您添加/嵌套到父级的所有Controls将显示或可以通过滚动条到达,这将根据需要显示。

这对你画的东西没有任何作用。

要使绘图可滚动,您需要将AutoScrollMinSize设置为足够大的值。

如果您事先不知道,那么至少在绘图时您应该能够从数据中确定它们。

在表单属性集中

AutoScroll = True