private void print_btn_Click(object sender, EventArgs e) { OnPrintClick(EventArgs.Empty); object em = null; GF.showLoading((this.Parent as Panel).Parent as Form); using (AxSHDocVw.AxWebBrowser wb = new AxSHDocVw.AxWebBrowser()) { wb.CreateControl(); wb.Left = -1000; wb.Top = -1000; wb.Navigate(Properties.Settings.Default.webserver_url + url); for (; wb.ReadyState != SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE;) { System.Windows.Forms.Application.DoEvents(); } GF.closeLoading(); try { SHDocVw.OLECMDF eQuery = wb.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_PAGESETUP); wb.ExecWB(SHDocVw.OLECMDID.OLECMDID_PAGESETUP, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER, ref em, ref em); wb.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINT, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER, ref em, ref em); } catch (Exception err) { MessageBox.Show(err.Message); } } }
private void browser_CommandStateChange(object sender, AxSHDocVw.DWebBrowserEvents2_CommandStateChangeEvent e) { // Änderung des Befehls-Status switch (e.command) { case (int)SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEBACK: // Der Status des Zurück-Befehls hat sich geändert backButton.Enabled = e.enable; break; case (int)SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEFORWARD: // Der Status des Vorwärts-Befehls hat sich geändert forwardButton.Enabled = e.enable; break; case (int)SHDocVw.CommandStateChangeConstants.CSC_UPDATECOMMANDS: // Der Status eines Befehls, der sich auf ein geladenes Dokument // bezieht, hat sich geändert // Den int-Wert für die Flags ermitteln, die bestimmen, dass // ein Befehl unterstützt wird und aktiviert ist int enabled = Convert.ToInt32(SHDocVw.OLECMDF.OLECMDF_SUPPORTED) + Convert.ToInt32(SHDocVw.OLECMDF.OLECMDF_ENABLED); // Den Status der einzelnen Befehle abfragen und mit dem int-Wert für // den unterstützten, aktivierten Befehl vergleichen reloadButton.Enabled = (enabled == (int)(browser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_REFRESH))); saveButton.Enabled = (enabled == (int)(browser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_SAVEAS))); printButton.Enabled = (enabled == (int)(browser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_PRINT))); editButton.Enabled = (enabled == (int)(browser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_SAVEAS))); printButton.Enabled = (enabled == (int)(browser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_PRINT))); // Der Status des Stop-Buttons muss über die Busy-Eigenschaft // abgefragt werden, damit dieser korrekt ausgewertet wird stopButton.Enabled = browser.Busy; break; } }