17.9.4 在滚动窗口中绘图
窗体的大小由窗体的Size属性确定,这个大小包括了窗体的标题栏和边框。而窗体中用于显示客户文 档的区域称为工作区(ClientRectangle),其大小用窗体的ClientSize 属性表示(如图17-20所示)。
在图17-20中,窗体的大小为308×234像素,其中标题栏的宽度为30像素,边框的宽度为4像素,所以 工作区的大小为300×200像素。
如果我们要在300×200像素的工作区内显示一个200×150像素的矩形和一个300×100像素的椭圆,会 出现什么情况呢?
图17-20 在滚动窗口中绘图 图17-21 文档大小超出工作区
为了叙述方便,我们把要显示的文本、图形等内容称为“文档”。因为这时文档的总高度为250像素, 而窗口工作区的高度只有200像素,所以总有一部分无法显示(如图17-21所示)。如果文档太大,工作区 不能完全显示,就需要在窗口中添加滚动条,以便查看被挡住的部分。
怎样才能显示滚动条呢?这可以通过设置窗体的AutoScrollMinSize属性实现。
this.AutoScrollMinSize = new Size(300, 250);
因为文档的面积为300×250像素,所以我们把AutoScrollMinSize的值设置为300×250,一旦工作区面 积小于该值,窗体就会自动显示相应的滚动条。
请新建一个名为“ScrollWindow”的项目,窗体大小设置为308×234像素(除去标题栏和边框,工作 区的实际大小为300×200像素),然后重写OnPaint()方法。
试一试:在滚动窗口中绘图
public partial class Form1 : Form { //构造函数 public Form1() { InitializeComponent(); //将窗体的背景色设置为白色 this.BackColor = Color.White; //当工作区小于300×250像素时显示滚动条 this.AutoScrollMinSize = new Size(300, 250); } //重写OnPaint()方法 protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics g = e.Graphics; //绘制矩形和椭圆 g.FillRectangle(Brushes.LightPink, 0, 0, 200, 150); g.FillEllipse(Brushes.LightGreen, 0, 150, 300, 100); } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索窗体
, 像素
, 滚动
, 大小
, onpaint
, C#,滚动条
, 工作区
, 300
滚动窗体
叩响c 之门、叩响c之门 pdf、叩响命运的门读后感、叩响命运的门、叩响天堂之门,以便于您获取更多的相关知识。