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字体显示比较: 为了看到更清楚,我们放大点显示: 放得更大些: 中文.日文等亚洲文字的 ...
随机推荐
- Error:Execution failed for task ':app:compileDebugJavaWithJavac'
百度一下呗 查找了各种解决方案,都不对症. 最后发现,造成这种异常的原因有很多.具体的还是要去终端编译,查看到底是什么地方出错了,然后具体问题具体分析. 终端进入项目的根目录,然后输入命令 ./gra ...
- Linux基础篇之FTP服务器搭建(二)
上一篇文章说到了搭建FTP匿名用户的访问,接下来讲解一下本地用户的登录. 一.首先先建立一个用户,这里举例:xiaoming,并为其设置密码. 二.修改配置文件. 文件:ftpusers 文件:us ...
- svn中日志不展示解决方法记录
一,问题:点击svn查看日志时不显示.筛选时间显示为1970 1,猜想可能没有查看日志权限 2,查看linux 下svn版本库 confg 下三个配制文件 authz ,passwd ,svnserv ...
- Django_02_创建模型
一:ORM简介 ORM,全拼Object-Relation Mapping,中文意为对象-关系映射,是随着面向对象的软件开发方法发展而产生的. 面向对象的开发方法是当今企业级应用开发环境中的主流开发方 ...
- 消息中间之ActiveMQ
一.JMS (JAVA Message Service) 1. JMS基本概念 JMS(JAVA Message Service,java消息服务)是java的消息服务,JMS的客户端之间可以通过JM ...
- tnsnames.ora配置细节注意
WXPT = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.250)(PORT = 1521) ...
- Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/bin/tensorboard'
使用pip install --user tensorflow-serving-api命令即可
- Java:应用Observer接口实践Observer模式
本文出自“子 孑” 博客,原文链接:http://zhangjunhd.blog.51cto.com/113473/68949 在Java中通过Observable类和Observer接口实现了观察者 ...
- Java中的集合List、ArrayList、Vector、Stack(三)
List接口 List集合代表一个有序集合,集合中每一个元素都有其对应的顺序索引.List集合容许使用重复元素,可以通过索引来访问指定位置的集合对象. ArrayList和Vector实现类 Arra ...
- kubernetes Configmap secret的使用
kubernetes configmap 核心作用是让配置信息和镜像解耦,pod可以使用configmap的数据生成配置文件.如果后端的pod配置文件要改变时,只需要更改下configmap里面的数据 ...