Вот как мы это сделали:
Поместите все справочные папки в %ApplicationFolder%/Help
. Итак, ваш pdf будет иметь путь %ApplicationFolder%/Help/Manual.pdf
. Вы можете создать папку справки и поместить свои PDF-файлы в свой csproject, а также прикрепить все целое к csproject
и установить для него copy always
. Таким образом, вы можете быть уверены, что файлы pdf, которые вы копируете в папку Help
, всегда самые последние.
И скопируйте все (кроме файлов pdb, конечно) из папки отладки в папку развертывания.
Затем используйте System.Diagnostics.Process.Start(pdfPath)
, чтобы запустить файл справки при нажатии кнопки справки. Вот как вы можете получить pdfPath:
Вот фрагмент кода:
public void Help_Click(object sender, System.EventArgs e)
{
var appDir = Path.GetDirectoryName(Application.StartupPath);
var helDir = Path.Combine(appDir, "Help");
var pdfPath = Path.Combine(helDir, "Manual.pdf");
System.Diagnostics.Process.Start(pdfPath);
}
Вы можете проверить это в режиме отладки. Просто нажмите F5 (не забудьте скопировать PDF-файл в папку отладки), и вы можете получить его