VS2005 GDI在pictureBox上画图为什么会消失

打开运行点击按钮,pictureBox上显示图形,但是当该窗体隐藏后再打开,图形就会消失?这是为什么?... 打开运行点击按钮,pictureBox上显示图形,但是当该窗体隐藏后再打开,图形就会消失?这是为什么? 展开
 我来答
aaasuper
2011-07-17 · TA获得超过801个赞
知道小有建树答主
回答量:431
采纳率:100%
帮助的人:623万
展开全部
在窗体上添加picturebox和两个button,添加button的点击事件,执行下面的代码你就可以看到差别了,第一段代码窗口最小化再还原图像就没有了,第二段代码没有这个问题,因为你直接在窗口上画的内容是不会被保存下来了,窗口一重绘图像自然就没有了。而通过对picturebox添加图片的方法,只要图片存在,picturebox的图像就在
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.pictureBox1.CreateGraphics();
g.Clear(Color.Black);
g.DrawRectangle(new Pen(Color.Red),10,10,40,20);
g.Dispose();
}

private void button2_Click(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(this.pictureBox1.ClientRectangle.Width, this.pictureBox1.ClientRectangle.Height);
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.Black);
g.DrawRectangle(new Pen(Color.Red), 10, 10, 40, 20);
g.Dispose();
this.pictureBox1.Image = bmp;
ocpisgeo1470
2011-07-16
知道答主
回答量:23
采纳率:0%
帮助的人:19.7万
展开全部
可以实现 ,不过你的想法错了。不是在pictruebox控件上画图 ,而是在pictruebox中的图片里画图 ,你只要你把图画到了图片上,那么pictruebox显示就会是你画过的图了。 当然 ,你要将pictruebox的image属性重新指定以下就可以了。不然的话,你图片画了,但pictruebox没刷新,那么就看不到效果了。具体操作我们可以交流。 希望可以帮到你.!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d242235
2011-07-16 · TA获得超过2385个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:819万
展开全部
你试试重写窗体的OnPaint函数,把在Picturebox上画图的代码都贴到这个函数里,就可以了。
因为每次窗体隐藏再打开,都会擦除原先的图形,只有重写OnPaint函数,才能不断引发图形的重绘事件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
louzui59
2011-07-16 · TA获得超过530个赞
知道答主
回答量:337
采纳率:0%
帮助的人:206万
展开全部
c# GDI 画图 在picture上面 DrawString();方法画图但是 我设定picture的可以实现 ,不过你的想法错了。不是在pictruebox控件上画图 ,而是在pictrue
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式