C#(三十五)之在滚动窗口中绘图

158 阅读1分钟

「这是我参与2022首次更文挑战的第29天,活动详情查看:2022首次更文挑战

窗体中的三个属性:

Size:窗体大小(包括标题栏和边框)


ClientSize:工作区大小(不包括标题栏和边框)


AutoScrollMinSize:出现滚动条的最小尺寸


设置出现滚动条的最小尺寸

this.AutoScrollMinSize = new Size(300,250);

实例:

protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaintBackground(e);
            Graphics g = e.Graphics;
            // 当滚动条移动时坐标平移,使其始终保持在左上角原点
            g.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);
            // 从0,0点向右伸展200,向下伸展150
            g.FillRectangle(Brushes.Bisque,0,0,200,150);
            // 从0,0点向右伸展300,向下伸展100
            g.FillEllipse(Brushes.DarkOliveGreen,0,150,300,100);
       
        }

当滚动条移动时坐标平移,使其始终保持在左上角原点

g.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);

有好的建议,请在下方输入你的评论。

欢迎访问个人博客 guanchao.site

欢迎访问小程序:

在这里插入图片描述