StreamReader sr = new StreamReader("Menu.ini");//实例化读取流对象
            int i = this.文件ToolStripMenuItem.DropDownItems.Count - 1;//定义历史记录位置
            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();//关闭读取流请问,这个是什么意思哈:
new StreamReader("Menu.ini")
这个没有路径"Menu.ini"可以找到?

解决方案 »

  1.   


    默认不是程序目录
    是程序的StartPath,这个可以由快捷方式指定,就是快捷方式中的“起始位置”。
    只是如果是直接双击程序,起始位置=程序所在目录尽量不要这么写,楼主考虑的很好,起始位置可以由很多情况改变,例如你执行过
      

  2.   

    OpenDialog的ShowDialog或是SaveDialog的ShowDialog方法后,指定的目录就会取代当前环境的默认路径,直接使用相对路径找Menu.ini就会失败。楼主考虑的是个很值得注意的细节。当前路径可以用
    System.IO.Path.GetDirectoryName(Environment.GetCommandLineArgs()[0])
    获得,再同Menu.ini组合得到绝对路径。
      

  3.   


    默认不是程序目录
    是程序的StartPath,这个可以由快捷方式指定,就是快捷方式中的“起始位置”。
    只是如果是直接双击程序,起始位置=程序所在目录尽量不要这么写,楼主考虑的很好,起始位置可以由很多情况改变,例如你执行过版主说对了...如果没有指定的话,也就是说,如果是在 Debug下,是去Debug路径找...