winform 菜单项显示历史记录

来源:互联网 发布:unity3d 鼠标中键平移 编辑:程序博客网 时间:2024/05/16 19:37


(1)创建一个项目,将其命名为MenuHistory,默认窗体为Form1。
(2)从工具箱中向Form1窗体添加MenuStrip控件,同时向窗体添加OpenFileDialog控件。创建一个“文件”主菜单,在其下面创建打开、关闭所有、退出等菜单选项。

(3)代码如下:

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;


namespace HistoryRecord
{
    public partial class Form1 : Form
    {
        //string address;
        public Form1()
        {
            InitializeComponent();
            //address = System.Environment.CurrentDirectory;
        }

        //相对路径
        string address = System.Environment.CurrentDirectory;

        //将打开的路径写入到INI文件
        private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.FileName = "";
            this.openFileDialog1.ShowDialog();
            StreamWriter s = new StreamWriter(address + "\\Menu.ini", true);//true:
            s.WriteLine(openFileDialog1.FileName);//写入INI文件
            s.Flush();//清空缓存数据,并将缓存数据写入基础流
            s.Close();          
        }
        //读取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)
            {
                ToolStripMenuItem menuitem = new ToolStripMenuItem(sr.ReadLine());
                this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuitem);
                i++;
                menuitem.Click += new EventHandler(menuitem_Click);

            }
            sr.Close();
        }

        private void menuitem_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem menu = (ToolStripMenuItem)sender;
            ShowWindows(menu.Text);

        }


        //自定义方法ShowWindows()用来加载背景图片并显示窗体
        public void ShowWindows(string fileName)
        {
            Image p = Image.FromFile(fileName);
            Form f = new Form();
            f.MdiParent = this;            
            f.BackgroundImage = p;
            f.Show();        
        }

        private void 关闭所有ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //用遍历获取所有子窗体 
            foreach (Form frm in this.MdiChildren)
            {
                frm.Close(); //关闭子窗体
            }   
        }

        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }

}

扩展:

1:菜单项打开隐藏按钮,菜单不关闭

            //菜单点击打开隐藏时不关闭
            this.文件ToolStripMenuItem.ShowDropDown();

2:文件夹选项,A事件调用B事件

                   //调用菜单下的选项点击事件
                    this.文件ToolStripMenuItem.DropDownItems[3].PerformClick();




0 0
原创粉丝点击