2016-11-04 86 views
-1

當用戶單擊它時,我的窗體上有一個幫助按鈕初始化已初始化axAcroPDF1的Help.cs窗體。一切都按預期工作,但是當我構建應用程序並將發佈文件夾移動到USB以將其複製到另一個位置時,它無法閱讀PDF,這是正確的做法,我該如何解決此問題,以便它將文件路徑來自當前位置的pdf。贏得窗體應用程序Pdf內置不工作

這是我的代碼初始化PDF以及我是如何加載它:

private void Help_Load(object sender, EventArgs e) 
     { 
    InitializeAdobe("C:\\Users\\username\\Documents\\Visual Studio 2013\\Projects\\Learning Windows Forms\\TotalReporting\\TotalReporting\\bin\\Release\\Total Reporting Help Guide.pdf"); 
     } 

private void InitializeAdobe(string filePath) 
{ 
try 
{ 
    this.axAcroPDF1.LoadFile(filePath); 
    this.axAcroPDF1.src = filePath; 
    this.axAcroPDF1.setShowToolbar(false); 
    this.axAcroPDF1.setView("FitH"); 
    this.axAcroPDF1.setLayoutMode("SinglePage"); 
    this.axAcroPDF1.Show(); 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message.ToString()); 
} 

}

private void Help_FormClosed(object sender, FormClosedEventArgs e) 
     { 
      this.axAcroPDF1.Dispose(); 
      this.axAcroPDF1 = null; 
     } 
+0

看起來PDF文件與您的應用程序在同一個文件夾中。那麼你不需要指定一個路徑,或者你可以使用返回當前應用程序安裝文件夾的可能方法之一 – Steve

+0

@Steve你可以請提供一個片段:) – CodeMan

回答

0

基本上你不需要把文件路徑這樣的,因爲當你運行您的應用程序,它也會在該機器上記錄此路徑。所以你必須把文件放在一個確定的位置,這樣你才能在運行時獲得位置(而不是硬編碼路徑)。你可以參考我的答案來獲得所需的路徑。 https://stackoverflow.com/a/40157384/6527049