程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 用C#和VB.NET實現VS.NET或Office XP風格的菜單(三)

用C#和VB.NET實現VS.NET或Office XP風格的菜單(三)

編輯:C#入門知識

 

用C#和VB.NET實現VS.NET或Office XP風格的菜單

小氣的神 2001.08.18

3. “MenuItemStyle”接口和VS.NET風格的菜單項

 

這個Project又將切換到C#語言。我是這樣想的:先針對普通菜單、Office200風格、VS.NET風格三種情況定義一個統一的接口(interface),其中包括畫IconDrawIcon)、畫分割條(DrawSeparator)、畫菜單背景(DrawBackground)、寫菜單項的文字(DrawMenuText)等功能;普通、Office2000VS.NET根據各自不同的情況實現這個接口的Drawxxx的功能。然後從MenuItem繼承一個子類,象第二部分講的那樣Overrides 菜單項的兩個函數:OnMeasureItemOnDrawItem,根據不同的風格調用上面實現的接口中的DrawXXX函數就可以了。最後我把這部分都分隔出來放在一個.CS文件中,單獨編譯成一個VSNET.Menu.DLL,你只用using VSNET.Menu ; 然後就可以象在第一部分那樣象使用普通的MenuItem那樣來用了,Demo源代碼中你還可以看到我定義了IconMenuItem的類,它有一個方法:MenuItemCreatorVSNET.Menu.IconMenuStyle sType , String sText , Bitmap bmp , System.EventHandler eh)可以完成生成需要的MenuItem。本來我想用資源文件或將圖片Icon等資源放在一個專門的文件中,然後由這個類來負責從資源文件或外部的類中獲得資源CreateMenuItem。但是是第一版,你會看到例程中我仍然用原始的New Bitmap()的方式直接從硬盤拿資源。當我看到它show出來時,先是很開心,然後發現還有許多要改進,想想其實做一個專業的菜單也需要花許多心思。

好吧讓我們看一下有關VS.

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