在开发图纸管理软件时,要求在菜单上记录用户最近打开的档案或图纸,以方便下次使用。单击“文件”菜单下的“打开文件”子菜单,打开需要查阅的图纸。下次运行该软件时,上次打开的文件名记录到“文件”菜单的历史菜单中,选择该菜单,即可打开相应的图纸文件。
技术要点
要实现保存最近打开的文件,可以将在菜单中最近打开文件的文件名和路径保存到事先建立的*.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-;
while (sr.Peek()>=)//读取INI文件
{
ToolStripMenuItem menuitem = new ToolStripMenuItem(sr.ReadLine());
this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuitem);
i++;
menuitem.Click += new EventHandler(menuitem_Click);
}
sr.Close();

最新文章

  1. PHPCMS调用点击量的方法
  2. mysql学习(1)-linux操作系统源码包安装
  3. java 面向对象编程--第十四章 多线程编程
  4. css中的继承、层叠、样式优先级机制
  5. Tomcat 映射虚拟目录
  6. C++的辅助工具介绍
  7. c/c++ extern “C”
  8. Android开发周报:Flyme OS开源、经典开源项目解析
  9. javascript 函数的基础知识
  10. Java读取文件存储到mysql
  11. 疯狂java讲义 第八章课后题
  12. webpack学习笔记--多种配置类型
  13. 洛谷 P1020 导弹拦截(dp+最长上升子序列变形)
  14. ubuntu 18图形界面
  15. C语言上机练习二
  16. Oracle相关内容整理
  17. PTA 习题集5-18 打印选课学生名单(哈希)
  18. C++中关于配置文件的问题
  19. CentOS6.5下openssh服务
  20. gulp基础使用及进阶

热门文章

  1. charles 高亮Hosts
  2. 引用、浅拷贝及深拷贝 到 Map、Set(含对象assign、freeze方法、WeakMap、WeakSet及数组map、reduce等等方法)
  3. 使用 Nginx 部署前后端分离项目,解决跨域问题
  4. centos C++ ccache llvm编译环境配置
  5. js 混合排序(类似中文手机操作系统中的通讯录排序)
  6. xshell调用xmanager,打开linux远程桌面
  7. php下api接口的并发http请求
  8. JavaScipt第四天笔记
  9. java-toString()、(String)、String.valueOf 的区别
  10. Spring boot 官网学习笔记 - Spring Boot CLI 入门案例