zoukankan      html  css  js  c++  java
  • C#窗体练习:带历史信息的菜单

    在开发图纸管理软件时,要求在菜单上记录用户最近打开的档案或图纸,以方便下次使用。单击“文件”菜单下的“打开文件”子菜单,打开需要查阅的图纸。下次运行该软件时,上次打开的文件名记录到“文件”菜单的历史菜单中,选择该菜单,即可打开相应的图纸文件。
    技术要点
    要实现保存最近打开的文件,可以将在菜单中最近打开文件的文件名和路径保存到事先建立的*.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();
  • 相关阅读:
    删除排列数组中的重复数字
    关于删除数组中重复元素的lintcode代码
    软件工程---删除重复数组
    软件工程实验一实验报告
    软件工程test1-Q2【买卖股票的最佳时机】
    软件工程test1-Q1【删除排序数组中的重复数字】
    接口响应状态码
    TestNG教程
    HttpClient-4.5.2官方教程完整翻译
    cookie、session与token的关系
  • 原文地址:https://www.cnblogs.com/amosyang/p/11737321.html
Copyright © 2011-2022 走看看