Добрый день.
В моем приложении C # Windows Forms я хотел бы открыть файлы .pdf.
Код для этого:
private void btnOpenPdf_Click(object sender, EventArgs e)
{
try
{
System.Diagnostics.Process.Start(lblPdf.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Пути к файлам .pdf хранятся в базе данных SQL.
Они хранятся следующим образом: C: \ Folder1 \ Folder2 \ File Name
В этом примере это означает:
lblPdf.Text="C:\Folder1\Folder2\File Name";
* примечание: имена файлов хранятся без типов файлов (поэтому в конце файла нет .pdf)
Конечно, это не работает, поэтому я добавил "@" и ".pdf" в строку:
lblTest.Text = ("@" + "\"" + lblPdf.Text + ".pdf" + "\"");
Когда я проверяю это с помощью окна сообщения:
MessageBox.Show(lblTest);
Я получаю:
@"C:\Folder1\Folder2\File Name.pdf"
Проблема, с которой я сталкиваюсь, заключается в том, что это работает:
private void btnOpenPdf_Click(object sender, EventArgs e)
{
try
{
MessageBox.Show(lblTest.Text);
System.Diagnostics.Process.Start(@"C:\Folder1\Folder2\File Name.pdf");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
и это не работает:
private void btnOpenPdf_Click(object sender, EventArgs e)
{
try
{
MessageBox.Show(lblTest.Text);
System.Diagnostics.Process.Start(lblTest.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Может кто-нибудь пролить свет на то, почему это так?
Сообщение об ошибке, которое я получаю во втором примере:
«Система не может найти указанный файл»
MessageBox.Show дает мне правильный синтаксис и путь к файлу в обоих случаях.
Спасибо.