2010-05-20 154 views

回答

3

是,使用一个Bitmap对每个“层”和每个位图的绘制到面板上。

您可以通过以特定顺序拨打DrawImage来控制哪个“层”处于顶层。

例如:

private void panel1_Paint(object sender, PaintEventArgs e) 
{ 
    Bitmap bmp1 = new Bitmap(panel1.Width, panel1.Height); 
    Bitmap bmp2 = new Bitmap(panel1.Width, panel1.Height); 

    Graphics g1 = Graphics.FromImage(bmp1); 
    Graphics g2 = Graphics.FromImage(bmp2); 

    g1.FillRectangle(Brushes.Red, 10, 10, 100, 100); 
    g2.FillEllipse(Brushes.Blue, 20, 20, 100, 100); 

    e.Graphics.DrawImage(bmp1, 0, 0); 
    e.Graphics.DrawImage(bmp2, 0, 0); 
} 
+0

感谢,这工作。 – jwdehaan 2010-05-20 20:41:13