使用GDI +绘制内容时如何使用AutoScrollbar
我使用e.graphics.DrawLine()
等在OnPaint
事件内的表单上绘制我的内容。 到目前为止,我根据表单size
绘制(调整我的元素大小),但现在我想绘制我想要的大小,如果我在可见区域之外绘制(将在运行时动态决定对象的绘制位置),我希望用户使用滚动条来查看我绘制的整个内容的部分。
我已经启用了AutoScrolling
但是当我对该表单没有任何控件时,我不知道它对我有何帮助。
我该怎么做?
只需将AutoScrollMinSize属性设置为所需的大小即可。 当表单的ClientSize小于此值时,滚动条会自动出现。 您还需要根据滚动位置偏移您绘制的内容,如下所示:
public partial class Form1 : Form { public Form1() { InitializeComponent(); this.AutoScroll = true; this.AutoScrollMinSize = new Size(3000, 1000); this.ResizeRedraw = true; } protected override void OnPaint(PaintEventArgs e) { e.Graphics.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y); e.Graphics.DrawLine(Pens.Black, 0, 0, 3000, 1000); base.OnPaint(e); } }
首先你应该设置AutoScroll = true;
您正在绘制的那个表单,最好的方法是将内容绘制到一个Panel
并重新调整Panel
大小以适应内部绘制的内容,而不是表单将自动显示它的滚动条。
上述就是C#学习教程:使用GDI +绘制内容时如何使用AutoScrollbar分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1012016.html