首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

用 C# 實現 Office 2003 風格選單元件(一):元件使用與架構設計

     編輯:關於C語言

簡介

僅用一行簡單程式,即可讓 Windows Forms 所有選單與內容選單擁有 Office 2003 風格外觀。同樣,只用一行程式即可為選單加上漂亮圖標。本文實現具備該功能元件。若想讓選單恢復原貌,只須呼叫 End 方法。

元件使用

正確使用元件,必須先將元件加入工具箱。然後從工具箱拖放到 Form 視窗。此時設計頁會多出名為 OfficeMenus1 圖標,表示已加入選單元件。緊接著呼叫:

// 開始顯示 Office 2003 選單
OfficeMenus1.Start(FormName); // 註:FormName 為要改變選單風格視窗名稱

同樣,可呼叫以下方法終止 Office 2003 風格,恢復原始外觀:

// 改變選單外觀風格到原始狀態
OfficeMenus1.End();

為選單項新增圖標也簡單,只須為專案新增 ImageList (圖像清單控制項),將 OfficeMenu 元件 ImageList 屬性改為您新增的 ImageList,使用代碼:

// 為選單新增圖像
// OfficeMenus.AddPicture(MenuItem MenuItemToAddPictureTo, int ImageIndex);
OfficeMenus1.ImageList = imageList1;
OfficeMenus1.AddPicture(menuItem2, 1);

可見,只須幾行代碼即可輕鬆實現 Office 2003 風格選單。

元件實作方法與原理

元件由三個類別實現:OfficeMenus、MainMenuItemDrawing、MenuItemDrawing,均位於命名空間 Dev4Arabs。因實作代碼較長,此處僅給出實作思路。

第一步:從 System.ComponentModel.Component 衍生 OfficeMenus 類別:

public class OfficeMenus : System.ComponentModel.Component

類別中定義兩靜態變數:

// 圖像清單儲存選單用到圖標
static ImageList _imageList;
// 儲存圖片細節 NameValueCollection,使每個選單控制代碼與圖標形成一一對應關係,便於繪製時快速找到對應圖標
static NameValueCollection picDetails = new NameValueCollection();

接著定義公用介面方法 Start 與 End。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved