请问如何把下面的绝对路径转换成相对路径
reportDocument1.Load("D:\\C#_Test\\sancaikeji\\sancaikeji\\CRgoujinshangpin.rpt");

解决方案 »

  1.   

    你要先知道".."是返回上一级目录:可以这样写:reportDocument1.Load("D:\\C#_Test\\sancaikeji\\sancaikeji\\CRgoujinshangpin.rpt");改成reportDocument1.Load(Application.StartupPath + "\\CRgoujinshangpin.rpt");//如果是在启动程序根目录下的文件可以这样写。如果是启动程序根目录下的上N级目录可以这样写:(前面第一句话我说了".."是级返回上一级目录,那N级,就加N个"\\.."咯)reportDocument1.Load(Application.StartupPath + "\\..\\CRgoujinshangpin.rpt");//这个是上一级目录。reportDocument1.Load(Application.StartupPath + "\\..\\..\\CRgoujinshangpin.rpt");//这个是上二级目录。reportDocument1.Load(Application.StartupPath + "\\..\\..\\..\\CRgoujinshangpin.rpt");//这个是上三级目录。reportDocument1.Load(Application.StartupPath + "\\..\\.." + "\\.." + ....... +(第N个)"\\.." + "\\CRgoujinshangpin.rpt");//这个是上N级目录。
      

  2.   

    reportDocument1.Load("..\\CRgoujinshangpin.rpt");
      

  3.   

    完整路径:"D:\\C#_Test\\sancaikeji\\sancaikeji\\CRgoujinshangpin.rpt"相对于:":"D:\\C#_Test\\sancaikeji\\sancaikeji" private void button2_Click(object sender, EventArgs e)
            {
                string full="D:\\C#_Test\\sancaikeji\\sancaikeji\\CRgoujinshangpin.rpt";
                string part="D:\\C#_Test\\sancaikeji\\sancaikeji";
                string des = full.Replace(part, "..");
                MessageBox.Show(des);
            }