picturebox被其他窗体覆盖后图形不见了
我用C#写了一个波形显示的界面,用picturebox控件来显示波形,但是当picturebox被弹出的子窗口覆盖后,原来的图就像被擦去了一样。我将绘图函数在picturebox_paint事件函数中重写后,只有改变主界面的大小后才会重绘(重写Paint()也是如此),实在没办法了,谁能帮帮我? --------------------编程问答-------------------- 你是直接在picturebox上画图么?如果是的改为在一个bitmap上画图然后把bitmap赋给picturebox --------------------编程问答-------------------- 例如private void Form1_Load(object sender, EventArgs e)
{
Bitmap bmpScreenShot = new Bitmap(800, 600);
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics gfx = Graphics.FromImage((Image)bmpScreenShot);
gfx.DrawEllipse(new Pen(Color.Red, 5), this.Left, this.Top, 100, 100);
pictureBox1.Image = bmpScreenShot;
}
--------------------编程问答--------------------
子窗口关闭后,调用一下PictrueBox的Refresh() --------------------编程问答-------------------- 用GDI+画图的话直接在Form上画或者搞个panel什么的当画板,干嘛搞个picturebox. --------------------编程问答-------------------- 这个方法我正在试,但是怎样获得子窗体的关闭消息呢?
--------------------编程问答-------------------- 我是个菜鸟,想画图一打开工具箱就把picturebox拉来啦。那用你说的panel画图和用picturebox画图的操作一样吗?有哪些区别啊?
--------------------编程问答-------------------- 谢谢,我知道这个方法。但是我想试着解决重绘的问题。
--------------------编程问答-------------------- 把画的图给到一个Image对象,然后把它赋给PicBox.Image --------------------编程问答-------------------- 我也在纠结着个问题呢
补充:.NET技术 , C#