2014-09-17 4 views
3

В настоящее время я использую приложение, которое воспроизводит ppt и мигает в WebBrowser Control.Обработка ключевых событий в элементе управления WebBrowser?

В WebBrowser я могу скрыть контекстное меню с помощью

this.IsWebBrowserContextMenuEnabled = false; 

и захватить ключевое событие с помощью

this.PreviewKeyDown += new PreviewKeyDownEventHandler(IWebBrowser_PreviewKeyDown); 

, но во время игры ppt, как контекстное меню и события нажатия клавиш не работают т.е. я вижу контекстное меню и клавишу со стрелкой для изменения слайда ppt.

Снова во время воспроизведения вспышки отображается контекстное меню, и я могу обрабатывать ключевое событие. есть ли какая-либо другая настройка для него, она может одинаково для любого (HTML, PPT, Flash, PDF) играет в webBrowser?

Edit: 1 Вот мой существующий код

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); 
} 

контекстное меню изображений для различных элементов управления, сыгранных в WebBrowser
отображения веб-страницы .............. ....
Contextmenu webpage
вспышка играл в WebBrowser .................
Context menu in flash(displayed in webbrowser)
РРТ играл в WebBrowser. ....................
Context menu in PPT(displayed in webbrowser)

ответ

1

Override все флаги событий мыши Here is an example Я надеюсь, что этот пример поможет вам

+0

Тем не менее я не могу справиться ключевые события – madan

2

Выполните следующие шаги, чтобы избавиться от контекстного меню по умолчанию в

  1. Делайте то, что вы имеете сделано для скрытия контекстного меню по умолчанию

    this.IsWebBrowserContextMenuEnabled = false;

  2. Добавить ContextMenuStrip контроль в окно и дать имя (скажем MyMenu)

  3. Установите ContextMenuStrip свойство вашего управления браузером для MyMenu

Теперь, независимо от типа документа вы отобразить на ваш браузер будет отображать только ваше пользовательское меню.

Надеюсь, это помогло!

Все лучшее

0

Вы имеете поймать событие PreviewKeyDown в вашем WebControl, где играет ваш/вспышка п.п. и повышение его содержания страницы или любой другой.

Вы можете проверить, как: define Custom Event for WebControl in asp.net