程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第五講 圖形開發基礎篇(2)

C#發現之旅第五講 圖形開發基礎篇(2)

編輯:關於C語言

軟件設計

根據功能需 求,本軟件設計如下

橢圓形按鈕是從UserControl 派生的一種自定義控件。

控件內部重寫OnPaint事件來繪制按鈕界面。

重寫OnMouseMove, OnMouseEnter,OnMouseLeave事件來實現按鈕的動態效果。

重寫OnClick事件來觸發 Click 事件。

軟件開發過程

經過簡單的設計,我們開始來開發這個軟件了。

新建C# WinForm.Net工程

打開VS.NET2003集成開發環境。新建立一個 C#WinForm.NET程序。客戶最終需要一個組件,但此處為了調試方便,開始使用WinForm.Net 應用程序工程模式,開發完畢後可以設置它為DLL工程模式提交給客戶。

要進行圖形 開發,C#工程必須引用 System.Drawing.dll,在新增WinForm.NET過程時,會自動添加該引 用,而新增其他類型的工程時可能不會默認添加該引用,此時需要手動添加該引用。圖形編 程需要頻繁引用System.Drawing名稱空間中的類型,因此在代碼的開頭需要添加 using System.Drawing ; 不過很多時候VS.Net會自動添加這個代碼,若不自動添加則需要手動添加 。

新增控件

新增一個名稱為EllipseButton 的用戶控件。

首先是定義 控件的一些屬性,主要有邊框色,按鈕背景色,鼠標懸浮時邊框色和按鈕背景色。

定 義一個鼠標懸停標志變量。 bool bolMouseHoverFlag = false ;

繪制控件用戶界面

重寫控件的OnPaint方法,繪制橢圓形按鈕,其代碼在演示程序中可以看到。在開發 自定義的控件時,可以相應控件的Paint事件,也可以重寫OnPaint方法,這裡為了代碼結構 簡單,此處重寫了OnPaint方法,在重寫該方法時一定要調用基類的 base.OnPaint 方法。

在重寫的OnPaint 方法中,具有一個類型為 PaintEventArgs 的參數,該參數有若干 個成員,其中最重要的就是Graphics成員和ClipRectangle成員,Graphics成員是圖形繪制對 象,可以看作一個空白的畫布,可以任意繪制圖形;ClipRectangle成員就是繪制區域剪切矩 形。

在C#圖形開發中,Graphics類型是最重要的類型,它表示一個畫布對象,任何圖 形操作都是輸出到這個畫布上。這個類型提供了很多屬性和方法,可以設置某些圖形輸出質 量,還提供了一系列的以Draw開頭的方法來繪制圖形,以Fill開頭的方法來填充圖形。此外 還提供方法和屬性進行坐標轉換。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved