小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

幫助C#菜鳥進(jìn)入GDI 開發(fā)

 Cloud書屋 2012-11-20

前一階段看到很多網(wǎng)友提問關(guān)于設(shè)計一些樣式獨特的按鈕,或者要在一些控件上做出一

些圖標(biāo)之類的

東西的問題,往往得到的答復(fù)就是一句“用GDI+”那么什么叫做GDI+呢?如何應(yīng)用GDI+

呢?今天給大家

做一個小例子,希望對大家有幫助:


1 GDI+的定義:GraphicDevice Interface Plus 就是圖形裝置接口,我們通過這個借

口可以對控件進(jìn)行

一些設(shè)計,。


2 一個小例子:如何用GDI+來修改一個按鈕的樣式:

 

第一步,我們要建立一個類——Button_paint,這個類就是我們以后要用的,我們自己

設(shè)計的按鈕。


第二步,我們需要引用兩個組件進(jìn)來:


一個是 System.Drawing.dll,這個是GDI+所需要的組件。


另外一個是 System.Windows.Forms.dll ,我們需要這個組件,來重寫里邊的按鈕對

象。


第三步,現(xiàn)在開始進(jìn)入編寫代碼,首先要做的是把剛才引用的組件調(diào)入我們的程序:


using System.Drawing;

using System.Windows.Forms;


然后我們要在這里類里邊繼承原始的Button對象,以便于對這個對象進(jìn)行重寫,代碼如

下:


public class Button_paint:System.Windows.Forms.Button


然后在這個函數(shù)的進(jìn)入點 public Button_paint()里邊加入一個代理,

就是讓這個類被調(diào)用的時候,當(dāng)執(zhí)行圖像生成部分this.Paint的時候自動激活

我們自己所設(shè)計的這個方法button_paint:


this.Paint+=new System.Windows.Forms.PaintEventHandler(button_paint);


然后我們寫一下button_paint這個方法,把這個繪畫的代理傳入這個方法,

后邊邊開始就是正規(guī)的GDI+編程了。


private void button_paint(object sende,System.Windows.Forms.PaintEventArgs

e)

 

在button_paint 這個方法里邊,我們可以給這個按鈕加入一些簡單的圖形修飾,方法

如下:

 

首先我們定義一根畫筆,我們需要用它來進(jìn)行圖像的繪畫,這根畫筆我們用紅色吧:


Pen pen=new Pen(Color.Red);


然后定義畫筆的寬度:


pen.Width=8;


好的,我們現(xiàn)在開始畫了,操作的對象自然就是我們傳遞進(jìn)來的這個需要修飾的對象 e


讓我們先畫條直線:


e.Graphics.DrawLine(pen,7,4,7,this.Height-4);


這個沒有必要多解釋了吧?


然后再劃一個橢圓


e.Graphics.DrawEllipse(pen,this.Width-16,6,8,8);


然后把這個類編譯好,然后引用到我們的應(yīng)用程序中調(diào)用吧,這時候就可以看到我們涉

及的這個對象的效果了。

 


具體的我做的這個例子的代碼如下:


using System;

using System.Drawing;

using System.Windows.Forms;


namespace Button_paint

{

public class Button_paint:System.Windows.Forms.Button

{

public Button_paint()

{

this.Paint+=new System.Windows.Forms.PaintEventHandler(button_paint);

}

private void button_paint(object sende,System.Windows.Forms.PaintEventArgs

e)

{

Pen pen=new Pen(Color.Red);

pen.Width=8;


e.Graphics.DrawLine(pen,7,4,7,this.Height-4);

e.Graphics.DrawEllipse(pen,this.Width-16,6,8,8);

}

}

}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多