[轉載]協助C#菜鳥進入GDI+開發

來源:互聯網
上載者:User

前一階段看到很多網友提問關於設計一些樣式獨特的按鈕,或者要在一些控制項上做出一

些表徵圖之類的

東西的問題,往往得到的回覆就是一句“用GDI+”那麼什麼叫做GDI+呢?如何應用GDI+

呢?今天給大家

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

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

口可以對控制項進行

一些設計,。

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

 

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

設計的按鈕。

第二步,我們需要引用兩個組件進來:

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

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

象。

第三步,現在開始進入編寫代碼,首先要做的是把剛才引用的組件調入我們的程式:

using System.Drawing;

using System.Windows.Forms;

然後我們要在這裡類裡邊繼承原始的Button對象,以便於對這個對象進行重寫,代碼如

下:

public class Button_paint:System.Windows.Forms.Button

然後在這個函數的進入點 public Button_paint()裡邊加入一個代理,

就是讓這個類被調用的時候,當執行映像產生部分this.Paint的時候自動啟用

我們自己所設計的這個方法button_paint:

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

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

後邊邊開始就是正規的GDI+編程了。

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

e)

 

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

如下:

 

首先我們定義一根畫筆,我們需要用它來進行映像的繪畫,這根畫筆我們用紅色吧:

Pen pen=new Pen(Color.Red);

然後定義畫筆的寬度:

pen.Width=8;

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

讓我們先畫條直線:

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

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

然後再劃一個橢圓

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

然後把這個類編譯好,然後引用到我們的應用程式中調用吧,這時候就可以看到我們涉

及的這個對象的效果了。

 

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

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);

}

}

}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.