按下按钮,选择文件后,在对应的TextBox中显示文件绝对路径,怎么修改代码才能实现在TextBox中显示相对路径。麻烦哪位大侠帮忙解决。小弟感激不尽 private void button1_Click(object sender, EventArgs e)        {                    this.openFileDialog1.Filter = "|*.*";                        if (this.openFileDialog1.ShowDialog() == DialogResult.OK)            {                string FileName = this.openFileDialog1.FileName; // 处理文件路径代码                 this.txtPath.Text = openFileDialog1.FileName;    //在TextBox中显示相对路径            }                            } 

解决方案 »

  1.   

    根据AppDomain.CurrentDomain.BaseDirectory 和全路径,自己匹配,替换
      

  2.   

                OpenFileDialog op1;
                string r = op1.SafeFileName;是不是这个意思?
      

  3.   

    绝对路径中肯定是包含AppDomain.CurrentDomain.BaseDirectory的,
    将AppDomain.CurrentDomain.BaseDirectory去掉就是相对路径了
      

  4.   


    this.txtPath.Text = openFileDialog1.FileName; 
    这句话可以在名字为txtPath.Text的TextBox中显示绝对路径,怎么才能显示相对路径
      

  5.   

    lz理解的“相对路径”是什么意思?
    openFileDialog1.FileName跟AppDomain.CurrentDomain.BaseDirectory有什么关系?
      

  6.   


    因为用的是c# winform  默认相对路径是bin文件夹下的debug文件加的位置
      

  7.   


    因为用的是c# winform 默认相对路径是bin文件夹下的debug文件加的位置
      

  8.   

    比如说,winform 路径是C:\WinForm1\bin\Debug,而OpenFileDialog选择了文件D:\abc.txt,这时lz认为的“相对路径”是什么?
      

  9.   

    我要打开的文件,应该放在对应的工程文件下面。如果是您说的这个C:\WinForm1\bin\Debug和D:\abc.txt我就不知道相对路径是什么了
      

  10.   

    如果是放在Debug文件夹下那你试试这样
    openFileDialog1.FileName.Replace(AppDomain.CurrentDomain.BaseDirectory, "")
      

  11.   

    - 对于 Windows 应用程序,可以使用 Application.ExecutablePath 属性
    - 对于 Web 项目,可以使用 Server.MapPath 直接把应用程序相对路径转成物理绝对路径。
      

  12.   


    感谢各位大侠的解释,相对路径是相对于一个写在配置文件里面的路径。麻烦各位大侠,winform怎么写配置文件,.ini或.xml
    小弟初学者,各位耐心大侠指导
      

  13.   

    感谢各位大侠的解释,相对路径是相对于一个写在配置文件里面的路径。麻烦各位大侠,winform怎么写配置文件,.ini或.xml
    小弟初学者,各位耐心大侠指导
      

  14.   

    winform自身就可以带配置文件的,就是扩展名为.config的文件
      

  15.   

    绝对路径:
    this.txtPath.Text = openFileDialog1.FileName; 
    相对路径就是文件名称加文件扩展后缀(如:XXX.txt)
      

  16.   

    在config文件中的<appSettings>节点中加入<add key="XXX" value="相对路径"/>
    然后在程序中读取
    string relativePath = ConfigurationManager.AppSettings["XXX"];
    要添加System.Configuration的引用
      

  17.   

    根据AppDomain.CurrentDomain.BaseDirectory 和全路径,自己匹配,替换
    我还是不理解是什么意思?