1. 程式人生 > >控制元件中出現的e.xxxx之類的

控制元件中出現的e.xxxx之類的

在遇到窗體應用程式開發的時候,會在控制元件事件的後臺寫一些程式碼,特別是帶e.xxx什麼的

C#中的Graphics g = e.Graphics是什麼意思?

解釋是:

Graphics 這個類,比較特殊,因為它是GDI+的基本類,類似傳統的Canvas概念,就是說: 對於一個用於繪圖的Graphics 而言,它必須有載體,也就是在哪裡繪
所以, Graphics 不能用 new Graphics 的方式來例項化,而必須使用具有 可繪 特性的Control 來作為依託,才能例項化

也就是 this.CreateGraphics 或者 Panel.CreateGraphics 或者 Form.CreateGraphics 類似的

Graphics看成是畫布,e.Graphics就是此控制元件的畫布

事件引數e的內容是隨著事件種類變化的。e隨著事件種類而變化,那也就是什麼控制元件,它就能度取出什麼控制元件的內容。

現在就是初步認為,e就是代表的這個控制元件,

Graphics知道吧 畫筆物件 它有個歸屬,就是說誰的畫筆
e是paint事件的引數 e.Graphics是paint事件源,即控制元件的畫筆

那麼,你Graphics g=new Graphics(); 這個g屬於控制元件(form等)嗎?
肯定不是,所以用這個g去畫,它就不知道畫在哪裡了。

Graphics gp=e.Graphics為何?
很簡單 因為有很多“畫”的操作 這樣就不用每次都e.Graphics.DrawLine啦

 

這個講的不錯=這個也行