方法一:适用于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中响应事件会出错。只能在后台自己写了。

WPF下如何去除WebBrowser的滚动条和捕获关闭事件的更多相关文章

  1. WPF:Webbrowser 捕获关闭事件

    有点难描述说的是什么.大概就是下面这个图:窗体中嵌套一个Webbrowser,现在网页请求关闭 响应MessageHook事件: this.webBrowser.MessageHook += webB ...

  2. WinForm与WPF下跨线程调用控件

    Winform下: public delegate void UpadataTextCallBack(string str,TextBox text); public void UpadtaText( ...

  3. WPF下的视频录制界面设计

    原文:WPF下的视频录制界面设计 在去年12月份,我曾经写过三篇文章讨论C#下视频录制.播放界面的设计.这三篇文章是:利用C#画视频录制及播放的界面(一) 利用C#画视频录制及播放的界面(二)利用C# ...

  4. WPF 下两种图片合成或加水印的方式(转载)

    来源:http://www.cnblogs.com/lxblog/ 最近项目中应用多次应用了图片合成,为了今后方便特此记下. 在WPF下有两种图片合成的方式,一种还是用原来C#提供的GDI+方式,命名 ...

  5. WPF 学习笔记-在WPF下创建托盘图标

    原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...

  6. wpf下使用NotifyIcon

    以前在winForm下使用过NotifyIcon,到wpf找不到了,在wpf下还是直接用WinForm里的那个NotifyIcon实现最小到系统托盘 定义一个NotifyIcon成员 : Notify ...

  7. WPF的项目,ListBox 纵向滚动条不显示

    最近在做WPF的项目,ListBox 纵向滚动条不显示,但是鼠标滚轮可以在ListBox中使用,但是必须要出现纵向滚动条.  索性就直接在listBox外面包裹一个ScrollViewer. Scro ...

  8. WPF 下 label 的刷新

    WPF下,label控件并没有什么 Refresh() 的方法.那么现在问题就来了. 假设有这么个场景:WPF窗体上有一个按钮,一个Label,按下按钮,触发一些耗时的操作:在操作之前,Label显示 ...

  9. WPF下字体模糊的问题

    原文:WPF下字体模糊的问题 一直以来,发现WPF中的小字体下的文字变得比较模糊,比如: WPF与Winform字体显示比较: 为了看到更清楚,我们放大点显示:  放得更大些: 中文.日文等亚洲文字的 ...

随机推荐

  1. 对于写Python学习笔记的看法

    学习写笔记是一个不错的学习方法,好些同学在学习Python过程中也会写学习笔记.俗话说好记性不如烂笔头,我很赞同这个说法. 我列举几个学习Python写笔记的好处: 1.Python知识的二度巩固 通 ...

  2. kubernetes之pod生命周期,pod重启策略, 镜像拉取策略

    pod声明周期(状态):pending , running, succeeded, failed, unknown 挂起(Pending):Pod 已被 Kubernetes 系统接受,但有一个或者多 ...

  3. troubshooting-sqoop 导出 TiDB表数据报com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

    2019-11-22 17:15:27,705 FATAL [IPC Server handler 13 on 44844] org.apache.hadoop.mapred.TaskAttemptL ...

  4. 注意条件表达式规范[JLS 15.25]

    /** * 猜猜输出结果是什么 */ public class appalet { public static void main(String[] args) { char x = 'x'; int ...

  5. Jmeter官方插件实现Dubbo接口测试

    目前主流的分布式框架有Dubbo和SpringCloud, SpringCloud是基于Http协议的分布式框架,Dubbo是基于RPC的分布式框架,Jmeter没有内置对Dubbo接口的支持,很难直 ...

  6. 【django】另一种思路代替nginx 的rewrite

    需求:访问xx.com 跳转到xx.com/index 修改setting 同级别的urls.py 文件 from django.conf.urls import include, url from ...

  7. Windows&Appium&Python自动化测试-Appium安装

    一.安装node.js 官方下载地址为:https://nodejs.org/en/download 傻瓜式安装即可,安装完成后,CMD中运行node -v查看版本号 输入npm 出现如上图信息,表示 ...

  8. dcm4che-core导包失败! mvn pom文件导包总是失败

    原因可能是所导的包不在共有项目中,可能在个人项目中,需要添加远程仓库 <!--远程仓库部署--><repositories> <repository> <id ...

  9. vue 多层组件相互嵌套的时候 数据源更新 dom没更新 彻底清除组件缓存

    当项目中存在多层组件相互嵌套 组件存在严重缓存时  this.$nextTick(() => { ..... }); 不管用 this.$forceUpdate(); 不管用 只能通过深拷贝浅拷 ...

  10. nextAll([expr]) 查找当前元素之后所有的同辈元素。

    nextAll([expr]) 概述 查找当前元素之后所有的同辈元素. 可以用表达式过滤 参数 exprStringV1.2 用来过滤的表达式 示例 描述: 给第一个div之后的所有元素加个类直线电机 ...