基于C#带记录历史信息的菜单

记录一下自己平时练习的编程实例。

基于C#做一个可以记录用户打开文件的历史路径的菜单。

实现界面如下:


核心控件:MenuStrip、openFileDialog

核心代码:

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;
using System.Runtime.InteropServices;


namespace 带历史信息的菜单
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.FileName = "";
            this.openFileDialog1.ShowDialog();
            StreamWriter s = new StreamWriter(@"F:\C#\带历史信息的菜单" + @"\Menu.ini", true);
            s.WriteLine(openFileDialog1.FileName);
            s.Flush();
            s.Close();
            ShowWindows(openFileDialog1.FileName);
        }


        private void Form1_Load(object sender, EventArgs e)
        {
            StreamReader sr = new StreamReader(@"F:\C#\带历史信息的菜单" + @"\Menu.ini", true);
            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(打开ToolStripMenuItem_Click);


            }
        }
        private void ShowWindows(string fileName)
        {
            try
            {
                Image p = Image.FromFile(fileName);
                Form F = new Form();
                F.MdiParent = this;
                F.BackgroundImage = p;
                F.Show();
            }
            catch { }
           
            
        }


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


        private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //把ini清空
            FileStream stream = File.Open(@"F:\C#\带历史信息的菜单" + @"\Menu.ini", FileMode.OpenOrCreate, FileAccess.Write);
            stream.Seek(0, SeekOrigin.Begin);
            stream.SetLength(0);
            stream.Close();
        }
    }
}


你可能感兴趣的:(C#)