窗体与界面设计 菜单应用实例菜单是程序开发中经常使用的界面元素, 合理利用菜单不但可以使用户非常方便的操作程序的功能, 更能使效率提高, 适应人性化的潮流。下面通过几个应用实例, 介绍菜单设计的方法和技术。实例 001 带历史信息的菜单实例说明在开发图纸管理软件时, 要求在菜单上记录用户最近打开的档案或图纸, 以方便下次使用。如图 所示,单击“文件”菜单下的“打开文件”子菜单,打开需要查阅的图纸。下次运行该软件时,上次打开的文件名记录到“文件”菜单的历史菜单中,选择该菜单,即可打开相应的图纸文件。技术要点要实现保存最近打开的文件,可以将在菜单中最近打开文件的文件名和路径保存到事先建立的*.ini 文件中,系统启动时读取*.ini 中的数据建立数组菜单,即可实现显示历史菜单的功能。注意:要建立一个带历史信息的菜单,必须首先添加一个 MenuStrip 菜单控件,并将主窗体的 IsMdiContainer 属性设为 True 。实现过程(1 )创建一个项目,将其命名为 Ex01_01 ,默认窗体为 Form1 。(2 )从工具箱中向 Form1 窗体添加 MenuStrip 控件,同时向窗体添加 OpenFileDialog 控件。创建一个“文件”主菜单,在其下面创建打开、关闭所有、退出等菜单选项。(3 )主要程序代码。将打开文件路径写入 INI 文件的实现代码如下: private void 打开 ToolStripMenuItem_Click(object sender, EventArgs e) { = ""; (); StreamWriter s= new StreamWriter(address + "\\", true); ();// 写入 INI 文件 (); (); ShowWindows(); } 读取 INI 文件并将信息加入菜单的实现代码如下: private void Form1_Load(object sender, EventArgs e) { StreamReader sr= new StreamReader(address + "\\"); inti= this. 文件 -2; while (()>=0)// 读取 INI 文件{ ToolStripMenuItem menuitem = new ToolStripMenuItem(()); this. 文件 (i, menuitem); i++; += new EventHandler(menuitem_Click); } (); } 自定义方法 ShowWindows() 用来加载背景图片并显示窗体,实现代码如下: public void ShowWindows(string fileName) { Image p= (fileName); Form f= new Form(); = this; = p; (); } 举一反三根据本实例,读者可以开发以下程序。记录用户操作菜单日志的程序。在用户单击菜单时, 把用户、菜单命令和菜单对应功能写入保存菜单日志的 INI 文件。如果需要查看日志,只需打开 INI 文件。通过数据库保存菜单历史信息的程序。菜单使用频率的程序。把用户使用菜单的数据信息保存到数据库中, 然后统计用户使用菜单的频率,并根据此频率调整菜单的显示顺序。实例 002 菜单动态合并实例说明在程序中经常使用弹出菜单,并且一个窗体中可以存在多个弹出菜单。开发过 MDI 窗体的读者可能都知道,当 MDI 子窗体最大化时,子窗体和主窗体的菜单能够自动的合并。这是如何实现的呢?本例实现了将两个弹出菜单动态的合并成一个弹出菜单的功能。实例效果如图 所示。技术要点 C# 中已经将弹出菜单封装为 Context MenuStrip 控件, 利用该控件中的 Items 对象可以操作菜单中的菜单项。该对象是 ToolStripMenuItem 类型, 使用 ( ) 方法可以向弹出菜单中添加
非常经典C#案例培训资料 来自淘豆网www.taodocs.com转载请标明出处.