zoukankan      html  css  js  c++  java
  • WPF下如何去除WebBrowser的滚动条和捕获关闭事件

    方法一:适用于VS2008

    1、在解决方案中添加“引用”
         选择 COM 下的 Microsoft html object library

    2、引入命名空间
         using mshtml;

    3、添加 WebBrowser 事件
         在 WebBrowser 的 LoadCompleted 事件里
         mshtml.HTMLDocumentClass dom = (mshtml.HTMLDocumentClass)webBrowserCygj.Document; //定义HTML
         dom.documentElement.style.overflow = "hidden";    //隐藏浏览器的滚动条 
         dom.body.setAttribute("scroll", "no");            //禁用浏览器的滚动条

    方法二:适用于VS2010

    1、在解决方案中添加“引用”
         选择 COM 下的 Microsoft html object library

    2、引入命名空间
         using mshtml;

    3、添加 WebBrowser 事件
         在 WebBrowser 的 LoadCompleted 事件里
         mshtml.HTMLDocument dom = (mshtml.HTMLDocument)webBrowserCygj.Document; //定义HTML
         dom.documentElement.style.overflow = "hidden";    //隐藏浏览器的滚动条 
         dom.body.setAttribute("scroll", "no");            //禁用浏览器的滚动条

    注1:出于MS的某些原因,在VS2010下,HTMLDocumentClass 需更改为HTMLDocument 方可生效。

    注2:通过页面代码控制浏览器窗口滚动条
            overflow-y:hidden '表示没有垂直滚动条
            overflow-x:hidden '表示没有水平滚动条
            scroll:no或overflow-x:hidden;overflow-y:hidden或overflow:hidden '让浏览器窗口永远不出现滚动条

            例:<BODY scroll="no">

    注3:“隐藏浏览器的滚动条”和“禁用浏览器的滚动条”同时使用,方可实现对所有页面有效。

    有点难描述说的是什么。大概就是下面这个图:窗体中嵌套一个Webbrowser,现在网页请求关闭

    响应MessageHook事件:

    this.webBrowser.MessageHook += webBrowser_MessageHook;
    IntPtr webBrowser_MessageHook(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
            {
                if(msg == 130)
                {
                    //do something
                }
                return hwnd;
            }

    这个事件不是EventHander的委托,而是HwndSourceHook的委托。

    伟大的VS并没有对其做优化处理,所以在Xaml中响应事件会出错。只能在后台自己写了。

  • 相关阅读:
    CF351E Jeff and Permutation
    2018-8-10-win10-uwp-绑定-OneWay-无法使用
    2018-8-10-win10-uwp-绑定-OneWay-无法使用
    2018-2-13-C#-通配符转正则
    2018-2-13-C#-通配符转正则
    2019-9-2-win10-uwp-列表模板选择器
    2019-9-2-win10-uwp-列表模板选择器
    2018-2-13-win10-uwp-InkCanvas控件数据绑定
    2018-2-13-win10-uwp-InkCanvas控件数据绑定
    2018-2-13-win10-uwp-unix-timestamp-时间戳-转-DateTime
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/4727396.html
Copyright © 2011-2022 走看看