Gestione degli eventi chiave sul controllo WebBrowser?

Attualmente sto usando un’applicazione che riproduce ppt e flash in WebBrowser Control.

In WebBrowser sono in grado di hide il menu contestuale usando

 this.IsWebBrowserContextMenuEnabled = false; 

e cattura l’evento chiave usando

 this.PreviewKeyDown += new PreviewKeyDownEventHandler(IWebBrowser_PreviewKeyDown); 

ma durante la riproduzione del ppt , sia il menu di scelta rapida sia gli eventi di pressione del tasto non funzionano, ovvero posso vedere il menu di scelta rapida e il tasto freccia per forzare il ppt a cambiare la diapositiva.

Di nuovo durante la riproduzione di flash, il menu di scelta rapida è visibile e posso gestire l’evento chiave. c’è qualche altra impostazione in cui può essere uguale per qualsiasi cosa ( HTML , PPT , Flash , PDF ) sta giocando in webBrowser?

Modifica: 1 Ecco il mio codice esistente

 class IWebBrowser : WebBrowser public IWebBrowser(RegionOptions options) { try { this.Width = 600; this.Height = 400; this.IsWebBrowserContextMenuEnabled = false; this.ScrollBarsEnabled = false; this.ScriptErrorsSuppressed = true; this.WebBrowserShortcutsEnabled = false; this.AllowNavigation = true; CreateContextMenu(); this.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(IWebBrowser_DocumentCompleted); this.PreviewKeyDown += new PreviewKeyDownEventHandler(IWebBrowser_PreviewKeyDown); } catch (Exception ex) { log.Error("IWebBrowser - ctor ", ex); } } private void CreateContextMenu() { ContextMenuStrip myContextMenu = new ContextMenuStrip(); this.ContextMenuStrip = myContextMenu; ToolStripMenuItem myFirstTooltip = new ToolStripMenuItem(); ToolStripMenuItem mySecondTooltip = new ToolStripMenuItem(); ToolStripMenuItem myThirdTooltip = new ToolStripMenuItem(); myFirstTooltip.Text = "Item One"; mySecondTooltip.Text = "Item Two"; myThirdTooltip.Text = "Item Three"; myContextMenu.Items.Add(myFirstTooltip); myContextMenu.Items.Add(mySecondTooltip); myContextMenu.Items.Add(myThirdTooltip); } 

menu di scelta rapida Immagini per diversi controlli riprodotti nel browser
Mostra una pagina Web ………………
Pagina del menu contestuale
flash riprodotto nel browser ……………..
Menu contestuale in flash (visualizzato nel browser)
ppt giocato in webbrowser …………………
Menu di scelta rapida in PPT (visualizzato nel browser)

Sovrascrivi tutti i flag degli eventi del mouse Ecco un esempio Spero che questo esempio ti possa aiutare

Attenersi alla seguente procedura per eliminare il menu di scelta rapida predefinito

  1. Fai ciò che hai fatto per hide il menu di scelta rapida predefinito

    this.IsWebBrowserContextMenuEnabled = false;

  2. Aggiungi un controllo ContextMenuStrip alla tua finestra e dai un nome (diciamo MyMenu)

  3. Imposta la proprietà ContextMenuStrip del controllo del browser su MyMenu

Ora, qualunque sia il tipo di documento visualizzato sul controllo del browser, verrà visualizzato solo il menu personalizzato.

Spero che questo ha aiutato!

Ti auguro il meglio

Devi prendere l’evento PreviewKeyDown nel tuo WebControl in cui stai riproducendo il tuo ppt / flash e alzarlo alla pagina di contenuto o qualsiasi altra cosa.

È ansible verificare come: definire l’evento personalizzato per WebControl in asp.net