C#中自繪圖形的重繪

我用C#編寫了一個windows窗體應用程序,設計了一個功能是通過點擊一個按鈕來調用繪圖函數生成曲線圖形,但是當移動窗體,或者改變窗體大小,切換到其他窗口再回到我做的程序窗口時曲線圖形就會消失,請問各位高手,如何才能進行圖形的重繪,如果是用onpaint(),因爲我是需要通過點擊一個按鈕來生成圖形,而且生成圖形的方法需要傳入許多參數,這些該如何處理, 
非常感謝.
簡單的可以在窗體的Activated事件中,重新調用繪圖函數。 

如果參數很多,太麻煩的話,可以這樣。 
繪圖的時候,把圖形繪製到picture中,把picture放在窗體上,這樣圖形始終在內存中保留。無論如何切換窗口,圖形都不會消失。 
具體繪圖方法: 
引用如下命名空間: 
using System.Drawing; 
using System.Drawing.Imaging; 
申明變量: 
private Image theImage;//要繪圖的圖片對象 
private Graphics ig; //在圖片上繪圖的Graphics對象 
private System.Windows.Forms.PictureBox MyPicBox;//窗體上的picturebox控件 
theImage=new Bitmap(600,800);//寬,高 
ig=Graphics.FromImage(theImage); 
ig.Clear(Color.White); //底色爲白色 
MyPicBox.Image=theImage;//將繪製的image放在picturebox中 
Pen drawPen = new Pen ( Color . Blue , 2 ) ; //畫筆工具 
ig.DrawRectangle(drawPen,20,20,40,40);//繪製一個矩形區域
查看用戶評論(2)>>
提問者對於答案的評價:
謝謝,已經用生成圖形文件的方法完成了.
發佈了15 篇原創文章 · 獲贊 9 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章