首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理WebBrowser控件上的关键事件?

问处理WebBrowser控件上的关键事件?
EN

Stack Overflow用户
提问于 2014-09-17 07:34:06
回答 3查看 1.2K关注 0票数 3

目前,我正在使用的应用程序,发挥ppt和闪存在WebBrowser控制。

在WebBrowser中,我可以通过以下方法隐藏上下文菜单

代码语言:javascript
复制
this.IsWebBrowserContextMenuEnabled = false;

并通过以下方法捕获关键事件

代码语言:javascript
复制
this.PreviewKeyDown += new PreviewKeyDownEventHandler(IWebBrowser_PreviewKeyDown);

但是在播放ppt时,上下文菜单和按键事件都不能正常工作,也就是说,我可以看到上下文菜单和箭头键迫使ppt更改幻灯片。

同样,在播放闪存时,上下文菜单是可见的,我可以处理键事件。在HTML中播放的任何东西( PPT、Flash、PDF)是否还有其他设置可以相同?

编辑:1这里是我现有的代码

代码语言:javascript
复制
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中不同控件的上下文菜单图像

显示网页.

在网页浏览器中播放的闪光灯.

在网页浏览器中播放的ppt .

​

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-29 06:54:19

覆盖所有鼠标事件标志Here is an example,我希望这个示例能帮助您

票数 1
EN

Stack Overflow用户

发布于 2014-09-26 13:38:24

按照以下步骤删除默认上下文菜单

  1. 按照您所做的来隐藏默认上下文菜单 this.IsWebBrowserContextMenuEnabled = false;
  2. 在窗口中添加一个ContextMenuStrip控件并给出一个名称(比方说MyMenu)
  3. 将浏览器控件的ContextMenuStrip属性设置为MyMenu

现在,无论您在浏览器控件上显示的文档类型是什么,它都将只显示您的自定义菜单。

希望这能帮上忙!

万事如意

票数 2
EN

Stack Overflow用户

发布于 2014-09-26 13:44:41

您必须在正在播放ppt/flash的PreviewKeyDown中捕获WebControl事件,并将其提升到内容页面或其他任何地方。

您可以检查如何:define Custom Event for WebControl in asp.net

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25884830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档