在自定义字体过程中遇到了一个问题,希望得到大家的帮助:
代码为:
PrivateFontCollection myfont = new PrivateFontCollection();                       
string path = @"d:\msyh.ttf";  //字库绝对路径
myfont.AddFontFile(path);      我有2太电脑,一台是WIN7操作系统,一台是XP操作系统。
    该代码在WIN7操作系统下运行正常,但在XP操作系统下却出现异常,提示说“找不到指定文件”。可以确定在2电脑的D盘目录下一定都存在该 msyh.ttf 字库文件。
    请问是什么原因一起该异常呢?是操作系统的原因么?

解决方案 »

  1.   

    ///获取相对路径///例如:System.Windows.Forms.Application.StartupPath = "E:\App\CheckingMachine\QueryMachine\bin\Debug"/// 经过以下处理将返回"E:\App\CheckingMachine\QueryMachine\images\1.gif" string path=System.Windows.Forms.Application.StartupPath + @"../../"; 
    System.IO.Directory.SetCurrentDirectory(path); string strFilePath = System.IO.Directory.GetCurrentDirectory() + @"\images\1.gif";
     
      

  2.   

    按照 gefangliang 提供的方法,换成相对路径后,在XP系统下运行成功。我又在WIN7操作系统下试了试,结果发现,在WIN7操作系统下,相对路径和绝对路径都能运行,但在XP系统下时,只有相对路径能行,绝对路径出现异常,不知道这是为什么,是XP操作系统不支持该方法的绝对路径么?