首页 / 软件开发 / C# / Windows Forms菜单设计全攻略
Windows Forms菜单设计全攻略2008-04-25 天极 蔡世友[前言:] C#不但继承了C++、Java等面向对象的强大功能特性,同时还是继承了VB、Delphi等编程语言的可视化快速开发功能,也称其为当前第一个完全面向组件的语言。虽然微软将把C#语言作为在WEB上开发一种主流工具来推广,但其在传统客户/服务器模式的程序设计中,特别是在微软.Net平台系统下,C#其强大,易用的特性将会成为Windows应用软件开发人员首选工具。而在Windows程序设计中,菜单作为用户与程序交互的首选工具,那么在.Net中C#又是如何快速的构造Windows Forms中的菜单呢?怎样才能掌握Windows Forms菜单的实质,在程序设计中做到得心应手,为所欲为的进行窗体菜单程序的开发呢?这篇文章将给您最全面的回答。一、Windows Forms菜单程序简介我们知道,在Windows程序中,菜单是一个必不可少的程序元素。通过使用菜单,可以把对程序的各种操作命令非常规范有效的表示给用户。一个Windows程序菜单一般包括一个主菜单(主菜单下面包含许多子菜单)及很多弹出式菜单。单击菜单项程序将执行相应的功能;另外在程序窗体的许多地方单击鼠标右键将会弹出一个针对性的快捷菜单(也可以称为弹出式菜单),单击将执行相应的功能,使得软件的应用变得更加简单,更加人性化。Microsoft视窗系统及其应用软件站稳桌面系统及软件的霸主地位,友好的菜单应用立下不小的功劳。与传统的Windows程序一样,Windows Forms程序中的菜单也包括一般的菜单及弹出菜单两种。一般的菜单主要是指窗体的主菜单及子菜单。菜单从属特性外观及主要功能又可分类:命令式菜单、选择菜单、链接菜单及分隔菜单等等。大家一定使用过快速开发(RAD)语言工具(如VB、Delphi等)设计过菜单程序。使用这些开发工具,你只需要把用鼠标把菜单控件拖放到窗体上,并通过简单的菜单外观及属性等设置即可完成非常友好的菜单程序开发。在.Net中,C#是支持快速开发的,因此,通过使用相应的开发工具(如Visual Studio .Net)也可以通过简单的鼠标拖放操作完成大部份的菜单程序设计。当然,由于C#的强大的功能,使用.Net提供的菜单类,你也可以通过记事本等纯文本编辑工具就能写出具有良好用户界面的菜单程序。但是只有在充分掌握Windows Forms菜单的实质以后,我们才能在程序设计中做到得心应手,为所欲为的进行窗体菜单程序的开发。二、菜单程序使用类及体系结构在.NET类库中,定义了一个非常庞大的基础类,以供用户在各种编程使用。在这些类中,有几个专为用户编写菜单程序所用的类,通过使用这几个类,你可以设计出自己想要的任何菜单。下面分别进行简单的介绍:2.1 Windows Forms菜单类体系结构.Net类库中,菜单类的定义体系结构如下:ObjectMarshalByRefObjectComponentMenuContextMenuMainMenuMenuItem从上面结构中,我们可以看出,菜单程序设计主要用到三个从Menu类继承的类:ContextMenu、MainMenu与MenuItem,它们分别封装了对弹出式菜单、主菜单及菜单项的定义。另外,.Net类库还提供了一个Menu.MenuItemCollection集合类来方便对各菜单项的管理。其定义如下:public class Menu.MenuItemCollection:IList,ICollection,Ienumerable;