我将一张图片绘到了panel1上
并设为panel1的背景图片我在panel1上画了几个圆形
现在如何将这些圆形一次性都清除

解决方案 »

  1.   

    如果是用
    Graphics myPic = this.panel1.CreateGraphics();
    Bitmap myBit = new Bitmap("a.bmp", false);
    myPic.DrawImage(myBit, 0, 0,300,300);
    这种方法绘制的话,可以直接  panel1.Refresh();
      

  2.   

    如果你的画圆是在panel的paint方法中写死了的,就没办法了,因为每次panel被刷新都要执行那些语句,又会重新画出来你看看这个,希望能对你有所帮助http://blog.csdn.net/LorenLiu/archive/2008/12/25/3600063.aspx
      

  3.   

    blog.csdn.net/dunao
    在这里寻找答案 吧!
      

  4.   

    Bitmap bgBMP=new Bitmap("a.bmp", false); Graphics myPic = this.panel1.CreateGraphics(); 
    Bitmap myBit = new Bitmap(bgBMP); 
    myPic.DrawImage(myBit, 0, 0,300,300); 清空的时候重新画一下就可以了主要是将背景图独立保存不要直接在上面画
      

  5.   

    在画图中主要是要理解哪些画好了,哪些是要重绘的,如果用鼠标拖动绘图,则需要把目标图片和绘画过程中的图片分开区别的。用panel画图对于细节的操作不是很容易,并且会出现闪屏。建议用一个pictureBox作为画板,上面可以用Bitmap作为画布,设置为双缓冲。画布可以放很多,对于绘图就方便多了,gdi+是个不好弄的东西,我也是前些日子刚做了这方面一些东西,建议楼主查一些该方面资料