程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Windows Forms菜單設計全攻略(7)

Windows Forms菜單設計全攻略(7)

編輯:關於C語言

4.3 添加彈出式菜單

在.Net中,System.Windows.Forms.Control類是除菜單外的所有窗體控件及可視化元素的基類,在該類中有一個ContextMenu類型的屬性ContextMenu,通過設置該屬性可以為控件或窗體添加彈出式菜單。方法非常簡單,你只需要創建一個ContextMenu對象,並把該對象賦給窗體或控件的ContextMenu屬性即可。

前面我們介紹了ContextMenu類有兩個構造函數,使用兩個構造函數,與MainMenu類似,我們可以通過下面兩種方法為控件或窗體添加彈出式菜單。

第一種方法,使用ContextMenu()產生一個不含任何菜單項的ContextMenu(彈出菜單)對象,然後通過該對象的MenuItems屬性管理菜單項,如下面的語句為窗體及按鈕添加同樣的彈出菜單:

ContextMenu Menu1=new ContextMenu();

Menu1.MenuItems.Add(new MenuItem(“彈出菜單一"));

Menu1.MenuItems.Add(new MenuItem(“彈出菜單二"));

this.ContextMenu=Menu1;

button1.ContextMenu=Menu1;

第二種方法是使用ContextMenu(MenuItem[] menus)構造函數直接生成具有一系列菜單項的彈出式菜單。如下面的例子:

MenuItem menu1=new MenuItem("彈出菜單一");//生成一個菜單項

MenuItem menu2=new MenuItem("彈出菜單二");

MenuItem menu3=new MenuItem("-");//菜單分隔線

MenuItem menu4=new MenuItem("彈出菜單三");

this.ContextMenu=new ContextMenu(new MenuItem[]{menu1,menu2,menu3,menu4,menu5});//為當前窗體添加彈出式菜單

在使用過程中,你還可以通過ContextMenu對象的RightToLeft設置菜單的排列方式,通過SourceControl查看所顯示彈出菜單所對應的控件等,還可以通過直接使用對象的Show()方法強制顯示彈出菜單等。

以主菜單(MainMenu)對象相似,要訪問一個彈出菜單的具體菜項,你可以直接通過Menu.MenuItemCollection集合進行。如下面的語句:

Menu1.MenuItems[0].Text="Test";

this.ContextMenu.MenuItems[0].Text="Test";

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