C# 窗体背景图片怎么跟随窗体变化而变化
如题;我的是在父窗体上设置了一个背景图片,并不是用什么控件的,就是在form上的backgroundimage里设置的;现在想在放大的时候放大,缩小的时候图片也跟随自动缩...
如题;我的是在父窗体上设置了一个背景图片,并不是用什么控件的,就是在form上的backgroundimage里设置的;现在想在放大的时候放大,缩小的时候图片也跟随自动缩小;请问该怎么写代码呢?
展开
4个回答
展开全部
背景图单独存放在其它位置后,当窗口的OnResize事件发生时,
对图片缩放后,作为背景。根据此原理,实现如下:
这里借用了一个pictureBox.不改变它的其它属性,如改变Image属性后,编写如下代码。
private void Form2_SizeChanged(object sender, System.EventArgs e)
{
loadBackImage();
}
private void loadBackImage()
{
Bitmap bit = new Bitmap(this.Width,this.Height);
Graphics g = Graphics.FromImage(bit);
g.DrawImage(this.pictureBox1.Image,new Rectangle(0,0,bit.Width,bit.Height),0,0,this.pictureBox1.Image.Width,this.pictureBox1.Image.Height,GraphicsUnit.Pixel);
this.BackgroundImage = bit;
g.Dispose();
}
private void Form2_Load(object sender, System.EventArgs e)
{
loadBackImage();
}
对图片缩放后,作为背景。根据此原理,实现如下:
这里借用了一个pictureBox.不改变它的其它属性,如改变Image属性后,编写如下代码。
private void Form2_SizeChanged(object sender, System.EventArgs e)
{
loadBackImage();
}
private void loadBackImage()
{
Bitmap bit = new Bitmap(this.Width,this.Height);
Graphics g = Graphics.FromImage(bit);
g.DrawImage(this.pictureBox1.Image,new Rectangle(0,0,bit.Width,bit.Height),0,0,this.pictureBox1.Image.Width,this.pictureBox1.Image.Height,GraphicsUnit.Pixel);
this.BackgroundImage = bit;
g.Dispose();
}
private void Form2_Load(object sender, System.EventArgs e)
{
loadBackImage();
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-25
展开全部
BackgroudImageLayout为Stretch会比Zoom更好ZOOM图片的与窗体的比例一样小窗体的时候与边框距离看似很小当窗体放大时就和出现很大的边距
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-25
展开全部
Zoom 是放大,把楼上的Zoom 改成Stretch 就OK了谢谢采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-25
展开全部
填充就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询