title: System.Windows.Forms.WebBrowser control to display pdf
body: <p>Is there any way to query the state of an IE plugin (Adobe Reader)? I have a situation where we present many multi-page reports to users through an embedded browser (the preferred pattern based on my research) hosted by a tab page. When the user navigates away from the report, usually to modify the data, they return to  re-initialized Adobe Reader. This means their place was lost and expanded bookmark nodes have been collapsed. </p>
  
  <p>Below is a simplified code snippet which I hope full expresses the nature of my problem. </p>
  
  <pre><code>Public partial class ReportView : UserControl
  { 
      private System.Windows.Forms.WebBrowser webBrowser; 
      private MyNamespace.ReportGenerator reportGen;  
      private String currentPDFtempPath; 
  
      public ReportView() 
      {
          InitializeComponent();
          this.Leave += (o, e) =&gt; { /*how can I save current place in pdf?*/ };
          this.Enter += (o, e) =&gt; { /*return user last place in large pdf*/ };
      }
  
      public void ViewReport(string reportName)
      {
          currentPDFtempPath = reportGen.GetReport(reportName);
          webBrowser.Navigate(currentPDFtempPath);
      }
  
      private void RefreshReport()
      {
          webBrowser.Navigate(currentPDFtempPath); /*reinitializes Adobe Reader*/
      }
  }
  
  public class ReportController
  {
      private DataModel model;
      private ReportView view;
  
      ReportController(DataModel m, ReportView v)
      {
          this.model = m;
          this.view = v;
  
          model.Changed += (o, e) =&gt; { view.RefreshReport(); }
      }
  }
  </code></pre>