如何在使用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