2017-02-13 10 views
0

Я пытаюсь показать pdf-файл в своей форме.Показать встроенный файл pdf в winforms C#

Я использовал этот учебник: https://www.youtube.com/watch?v=a59LvC6BOuk

Но ничего не происходит, он открывает новую недоступную пустое окно Adobe Acrobat.

Это мой код:

OpenFileDialog op1 = new OpenFileDialog(); 
     if (op1.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      pdfRead.src = op1.FileName; 
     } 

Что я могу сделать, чтобы исправить это?

ответ

0

Ваш код выполнен по вашему желанию. скорее всего, хотя из предоставленного кода его трудно сказать ..

Однако вы можете попробовать, поставив панель, где вы хотите, чтобы ваш pdf-файл отображался - предположим, что он называется panel1.

Вам нужно это в форме

[DllImport("user32.dll")] 
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); 

и изменить свой код си он запускает процесс этого PDF сосать его в приложение

if (op1.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
{ 
    Process p = Process.Start("op1.FileName"); 
    Thread.Sleep(500); // Allow the process to open it's window 
    SetParent(p.MainWindowHandle, panel1.Handle); 
} 

Этот код не является совершенным - это не позволяет много вещей .. например, вы должны скрыть панель и показать ее в зависимости от того, работает ли этот процесс PDF и заканчивается .. и т. д.

+0

Я пробовал выше, и он открыл pdf в новых окнах acrobat Reade р. У меня есть пример того, как я хочу, чтобы он появился: http://image.prntscr.com/image/888dace6a5ff4729828c0c5b8043b5a8.png – Kfir

+0

ОК, но я не на этой планете, чтобы сделать все это для вас - я использую этот код помещать замазку в вкладку в приложении winform, работает как шарм. – BugFinder

+0

Что вы имеете в виду, когда говорите, что вы помещаете шпатлевку в вкладку? (Putty - это SSH-клиент, не так ли?) – Kfir

 Смежные вопросы

  • Нет связанных вопросов^_^