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中响应事件会出错。只能在后台自己写了。
WPF下如何去除WebBrowser的滚动条和捕获关闭事件的更多相关文章
- WPF:Webbrowser 捕获关闭事件
有点难描述说的是什么.大概就是下面这个图:窗体中嵌套一个Webbrowser,现在网页请求关闭 响应MessageHook事件: this.webBrowser.MessageHook += webB ...
- WinForm与WPF下跨线程调用控件
Winform下: public delegate void UpadataTextCallBack(string str,TextBox text); public void UpadtaText( ...
- WPF下的视频录制界面设计
原文:WPF下的视频录制界面设计 在去年12月份,我曾经写过三篇文章讨论C#下视频录制.播放界面的设计.这三篇文章是:利用C#画视频录制及播放的界面(一) 利用C#画视频录制及播放的界面(二)利用C# ...
- WPF 下两种图片合成或加水印的方式(转载)
来源:http://www.cnblogs.com/lxblog/ 最近项目中应用多次应用了图片合成,为了今后方便特此记下. 在WPF下有两种图片合成的方式,一种还是用原来C#提供的GDI+方式,命名 ...
- WPF 学习笔记-在WPF下创建托盘图标
原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...
- wpf下使用NotifyIcon
以前在winForm下使用过NotifyIcon,到wpf找不到了,在wpf下还是直接用WinForm里的那个NotifyIcon实现最小到系统托盘 定义一个NotifyIcon成员 : Notify ...
- WPF的项目,ListBox 纵向滚动条不显示
最近在做WPF的项目,ListBox 纵向滚动条不显示,但是鼠标滚轮可以在ListBox中使用,但是必须要出现纵向滚动条. 索性就直接在listBox外面包裹一个ScrollViewer. Scro ...
- WPF 下 label 的刷新
WPF下,label控件并没有什么 Refresh() 的方法.那么现在问题就来了. 假设有这么个场景:WPF窗体上有一个按钮,一个Label,按下按钮,触发一些耗时的操作:在操作之前,Label显示 ...
- WPF下字体模糊的问题
原文:WPF下字体模糊的问题 一直以来,发现WPF中的小字体下的文字变得比较模糊,比如: WPF与Winform字体显示比较: 为了看到更清楚,我们放大点显示: 放得更大些: 中文.日文等亚洲文字的 ...
随机推荐
- 对于写Python学习笔记的看法
学习写笔记是一个不错的学习方法,好些同学在学习Python过程中也会写学习笔记.俗话说好记性不如烂笔头,我很赞同这个说法. 我列举几个学习Python写笔记的好处: 1.Python知识的二度巩固 通 ...
- kubernetes之pod生命周期,pod重启策略, 镜像拉取策略
pod声明周期(状态):pending , running, succeeded, failed, unknown 挂起(Pending):Pod 已被 Kubernetes 系统接受,但有一个或者多 ...
- 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 ...
- 注意条件表达式规范[JLS 15.25]
/** * 猜猜输出结果是什么 */ public class appalet { public static void main(String[] args) { char x = 'x'; int ...
- Jmeter官方插件实现Dubbo接口测试
目前主流的分布式框架有Dubbo和SpringCloud, SpringCloud是基于Http协议的分布式框架,Dubbo是基于RPC的分布式框架,Jmeter没有内置对Dubbo接口的支持,很难直 ...
- 【django】另一种思路代替nginx 的rewrite
需求:访问xx.com 跳转到xx.com/index 修改setting 同级别的urls.py 文件 from django.conf.urls import include, url from ...
- Windows&Appium&Python自动化测试-Appium安装
一.安装node.js 官方下载地址为:https://nodejs.org/en/download 傻瓜式安装即可,安装完成后,CMD中运行node -v查看版本号 输入npm 出现如上图信息,表示 ...
- dcm4che-core导包失败! mvn pom文件导包总是失败
原因可能是所导的包不在共有项目中,可能在个人项目中,需要添加远程仓库 <!--远程仓库部署--><repositories> <repository> <id ...
- vue 多层组件相互嵌套的时候 数据源更新 dom没更新 彻底清除组件缓存
当项目中存在多层组件相互嵌套 组件存在严重缓存时 this.$nextTick(() => { ..... }); 不管用 this.$forceUpdate(); 不管用 只能通过深拷贝浅拷 ...
- nextAll([expr]) 查找当前元素之后所有的同辈元素。
nextAll([expr]) 概述 查找当前元素之后所有的同辈元素. 可以用表达式过滤 参数 exprStringV1.2 用来过滤的表达式 示例 描述: 给第一个div之后的所有元素加个类直线电机 ...