-1

ユーザーがクリックすると、フォームにヘルプ ボタンが表示され、axAcroPDF1 が初期化された Help.cs フォームが初期化されます。すべてが期待どおりに機能しますが、アプリケーションをビルドし、リリース フォルダーを USB に移動して別の場所にコピーすると、正しいことである 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;
        }
4

1 に答える 1

0

アプリケーションを実行すると、そのマシンでもこのパスがファイルされるため、基本的に、このようなパスにファイルを配置する必要はありません。そのため、ファイルを特定の場所に配置して、実行時に場所を取得できるようにする必要があります(ハードコードされたパスではありません)必要なパスを取得するには、私の答えを参照してください。 https://stackoverflow.com/a/40157384/6527049

于 2016-11-04T17:13:12.243 に答える