C#-带有历史信息的菜单

本文介绍了一个简单的应用程序如何通过使用INI文件来记录最近打开的文件路径,并在下次启动时自动加载这些路径到菜单中。具体实现包括将路径写入INI文件、读取INI文件内容并更新菜单项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.将历史信息加入到ini文件

2.每次load窗体时自动加载ini文件中信息到菜单

3.新打开的路径记录到ini文件中

*************************************************************************

将打开文件路径写入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();               //关闭当前的StreamWriter对象和基础流
    ShowWindows(openFileDialog1.FileName); //调用自定义方法ShowWindows
}


读取INI文件并将信息加入菜单的实现代码如下:
private void Form1_Load(object sender, EventArgs e)
{
    StreamReader sr = new StreamReader(address + "\\Menu.ini");  //声明一个以一种特定的编码从字节流中读取字符对象
    int i = this.文件ToolStripMenuItem.DropDownItems.Count-2;   //定义一个int型变量i并为它赋值
    while (sr.Peek()>=0)                          //读取INI文件
    {
        ToolStripMenuItem menuitem = new ToolStripMenuItem(sr.ReadLine()); //声明一个ToolStripMenuItem对象
        this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuitem);   //向菜单中添加内容
        i++;                                    //int变量i递增
        menuitem.Click += new EventHandler(menuitem_Click);    //为菜单中的可选项生成处理程序
    }
    sr.Close();        //关闭当前的StreamReader对象和基础流
}


自定义方法ShowWindows用来加载背景图片并显示窗体,实现代码如下:
public void ShowWindows(string fileName)
{
    Image p = Image.FromFile(fileName);         //定义一个Image型的变量p
    Form f = new Form();                        //定义一个Form型的变量f
    f.MdiParent = this;                              //设定当前窗体为MDI父窗体
    f.BackgroundImage = p;                            //为窗体f设置背景图片
    f.Show();                                     //显示窗体
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值