自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C# SystemMenu類介紹

開發(fā) 后端
這里介紹C# SystemMenu類的實現(xiàn)使得整個系統(tǒng)菜單存取容易許多。你可以使用這個類來修改一個窗口的菜單。通過調(diào)用靜態(tài)成員函數(shù)FromForm你得到一個對象。

學習C#時,經(jīng)常會遇到C# SystemMenu類問題,這里將介紹C# SystemMenu類問題的解決方法。

C# SystemMenu類

C# SystemMenu類的實現(xiàn)使得整個系統(tǒng)菜單存取容易許多。你可以使用這個類來修改一個窗口的菜單。通過調(diào)用靜態(tài)成員函數(shù)FromForm你得到一個對象,該函數(shù)要求一個Form對象或一個從Form繼承的類作為它的參數(shù)。然后它創(chuàng)建一個新的對象,當然如果GetSystemMenu API調(diào)用失敗的話,將引發(fā)一個NoSystemMenuException例外。

注意,每一個Windows API菜單函數(shù)要求一個菜單句柄以利于操作。因為菜單句柄實際上是一個C++指針,所以在.NET中你要使用IntPtr來操作它。許多函數(shù)還需要一個位掩碼標志來指明新菜單項的動作或形式。幸運的是,你不必象在VC++中那樣,通過某個頭文件的包含來使用一系列的位掩碼標志定義,.NET中已經(jīng)提供了一個現(xiàn)成的公共枚舉類ItemFlags。下面對這個類的幾個重要成員作一說明:
◆mfString―― 告訴子系統(tǒng)將顯示由菜單項中的“Item”參數(shù)傳遞的字符串。
◆mfSeparator――此時 "ID" 與 "Item" 參數(shù)被忽略。
◆MfBarBreak―― 當用于菜單條時,其功能與mfBreak一樣;當用于下拉菜單,子菜單或快捷菜單時,新的一列與舊有的一列由一線垂直線所隔開。
◆MfBreak――把當前項目放在一個新行(菜單條)或新的一列(下拉菜單,子菜單或快捷菜單)。

注意:如果指定多個標志,應該用位操作運算符|(或)連接。例如:

  1. //將創(chuàng)建一個菜單項 "Test" ,且該項被選中(checked)  
  2. mySystemMenu.AppendMenu(myID, "Test", ItemFlags.mfString|ItemFlags.mfChecked); 

“Item”參數(shù)指定了新項中要顯示的文本,其ID必須是唯一的數(shù)字――用來標志該菜單項。

注意:確保新項的ID大于0小于0XF000。因為大于等于0XF000的范圍為系統(tǒng)命令所保留使用。你也可以調(diào)用類SystemMenu的靜態(tài)方法VerifyItemID來核驗是否你的ID正確。

另外,還有兩個需要解釋的常量:mfByCommand和mfByPosition。

第一,在缺省情況下,使用mfByCommand。第二,“Pos”的解釋依賴于這些標志:如果你指定mfByCommand,“Pos”參數(shù)就是在新項目插入前項目的ID;如果你指定mfByPosition,“Pos”參數(shù)就是以0索引為開頭的新項的相對位置;如果是-1并且指定 mfByPosition,該項目將被插入到最后。這也正是為什么AppendMenu()可以為InsertMenu()所取代的原因。以上介紹C# SystemMenu類

【編輯推薦】

  1. C#創(chuàng)建表單簡單介紹
  2. C#修改DataReader默認行為
  3. C#設置CooperativeLevel概述
  4. C#表單增加控件簡單描述
  5. C# EmployeePlug類概述
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-12 09:41:28

C# Director

2009-08-06 14:53:41

C# User類

2010-01-15 18:35:25

C++的類

2009-08-27 13:37:11

C#類和結(jié)構(gòu)

2009-09-02 14:33:57

C#類實現(xiàn)接口

2009-08-12 18:35:36

C# ArrayLis

2009-08-04 08:48:44

C#內(nèi)置特性

2009-07-31 14:15:38

C# 構(gòu)造函數(shù)

2009-08-12 15:34:40

C# DBNull

2009-08-12 15:43:02

操作C# Datase

2009-08-18 16:45:40

C# Raw Sock

2009-08-25 10:24:29

C# delegate

2009-08-17 16:47:51

C# Anonymou

2009-09-02 17:20:50

C# Parsing

2009-08-10 16:30:56

C# BitmapDa

2009-09-03 17:21:51

C# VSProjec

2009-09-03 16:51:27

C#類屬性

2009-09-01 10:20:28

C#多種語句

2009-08-07 17:41:40

C#預處理

2009-08-27 10:19:22

C#匿名類型
點贊
收藏

51CTO技術棧公眾號