Cnet_经典实例400个.doc
文本预览下载声明
一共470多例winform 界面特效的源码。
窗体与界面设计
1.1? 菜单应用实例
菜单是程序开发中经常使用的界面元素,合理利用菜单不但可以使用户非常方便的操作程序的功能,更能使效率提高,适应人性化的潮流。下面通过几个应用实例,介绍菜单设计的方法和技术。
实例001? 带历史信息的菜单
实例说明
在开发图纸管理软件时,要求在菜单上记录用户最近打开的档案或图纸,以方便下次使用。如图1.1所示,单击“文件”菜单下的“打开文件”子菜单,打开需要查阅的图纸。下次运行该软件时,上次打开的文件名记录到“文件”菜单的历史菜单中,选择该菜单,即可打开相应的图纸文件。
技术要点
要实现保存最近打开的文件,可以将在菜单中最近打开文件的文件名和路径保存到事先建立的*.ini文件中,系统启动时读取*.ini中的数据建立数组菜单,即可实现显示历史菜单的功能。
?注意:要建立一个带历史信息的菜单,必须首先添加一个MenuStrip菜单控件,并将主窗体的IsMdiContainer属性设为True。
实现过程
(1)创建一个项目,将其命名为Ex01_01,默认窗体为Form1。
(2)从工具箱中向Form1窗体添加MenuStrip控件,同时向窗体添加OpenFileDialog控件。创建一个“文件”主菜单,在其下面创建打开、关闭所有、退出等菜单选项。
(3)主要程序代码。
将打开文件路径写入INI文件的实现代码如下:
??????? private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
??????? {
??????????? openFileDialog1.FileName = ;
??????????? this.openFileDialog1.ShowDialog();
??????????? StreamWriter s = new StreamWriter(address + \\Menu.ini, true);
??????????? s.WriteLine(openFileDialog1.FileName);//写入INI文件
??????????? s.Flush();
??????????? s.Close();
??????????? ShowWindows(openFileDialog1.FileName);
??????? }
读取INI文件并将信息加入菜单的实现代码如下:
????? private void Form1_Load(object sender, EventArgs e)
??????? {
??????????? StreamReader sr = new StreamReader(address + \\Menu.ini);
??????????? int i = this.文件ToolStripMenuItem.DropDownItems.Count-2;
??????????? while (sr.Peek()=0)//读取INI文件
??????????? {
??????????????? ToolStripMenuItem menuitem = new ToolStripMenuItem(sr.ReadLine());
??????????????? this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuitem);
??????????????? i++;
??????????????? menuitem.Click += new EventHandler(menuitem_Click);
??????????? }
??????????? sr.Close();
??????? }
自定义方法ShowWindows()用来加载背景图片并显示窗体,实现代码如下:
??????? public void ShowWindows(string fileName)
??????? {
??????????? Image p = Image.FromFile(fileName);
??????????? Form f = new Form();
??????????? f.MdiParent = this;
??????????? f.BackgroundImage = p;
??????????? f.Show();
??????? }
举一反三
根据本实例,读者可以开发以下程序。
? 记录用户操作菜单日志的程序。在用户单击菜单时,把用户、菜单命令和菜单对应功能写入保存菜单日志的INI文件。如果需要查看日志,只需打开INI文件。
? 通过数据库保存菜单历史信息
显示全部