使用油漆时如何在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设置为足够大的值。

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

在表单属性集中

自动滚动 = 真

最新更新