以前问过一次了.不死心. 好不容易才做到这
BufferedGraphicsContext myContext = BufferedGraphicsManager.Current;BufferedGraphics buffer = myContext.Allocate(pictureBox1.CreateGraphics(),pictureBox1.ClientRectangle);
if (buffer.Graphics != null)
{
//buffer.Graphics.Clear(Color.Transparent);
gdi.Picture(buffer.Graphics, pictureBox1.ClientRectangle);
}
buffer.Render();
buffer.Dispose();
每隔几秒就会调用上面的代码.gdi.Picture这个方法里面绘制背景窗体是不规则的所以不能用buffer.Graphics.Clear(Color.Transparent);这句话,如果用了窗体就变成方的了,问题出来了,程序运行的时候通过任务栏菜单打开Form2,Form2里面的label1控件和pictureBox1会显示在Form1的画布上.如果把label1的FlatStyle这个属性设为System.就不会显示在画布上.
我就想不通了.Form2的控件怎么会在Form1上显示出来了.怎么不让它显示呢.
谢谢了 --------------------编程问答-------------------- 帮顶... --------------------编程问答-------------------- up --------------------编程问答-------------------- 把整个不规则窗体放在region中,就可以用buffer.Graphics.Clear(Color.Transparent); --------------------编程问答-------------------- 在form2打开时,重新调用上面的代码试试 --------------------编程问答-------------------- 帮顶... --------------------编程问答-------------------- 就你给出的说明很难说出是哪里有问题,用BufferedGraphicsContext 来画图可能会出现你说那种情况,它只是双绶冲的一种画出的假像,只要保证你的代码合适这个是没有问题的.
在你给出的代码中我觉得跟本没有办法来帮你修改其中的问题. --------------------编程问答-------------------- 帮你顶一下。 --------------------编程问答-------------------- 帮顶...
--------------------编程问答-------------------- 不懂,帮顶 --------------------编程问答-------------------- Region 怎么用? --------------------编程问答-------------------- 哪怕有想法的人说说也好啊.
帮帮我吧 --------------------编程问答--------------------
^_^
^_^^_^
^ _^^_^^_^^_^^_
^^_^^_^^_^^_^^_^^_^^_^
|||
|||
|||||
|||||||
||||||||||||||||||||||||
补充:.NET技术 , C#