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";??? //隱藏瀏覽器的滾動(dòng)條?
?????dom.body.setAttribute("scroll", "no");??????????? //禁用瀏覽器的滾動(dòng)條
?
方法二:適用于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";??? //隱藏瀏覽器的滾動(dòng)條?
?????dom.body.setAttribute("scroll", "no");??????????? //禁用瀏覽器的滾動(dòng)條
?
注1:出于MS的某些原因,在VS2010下,HTMLDocumentClass 需更改為HTMLDocument 方可生效。
注2:通過(guò)頁(yè)面代碼控制瀏覽器窗口滾動(dòng)條
????????overflow-y:hidden '表示沒(méi)有垂直滾動(dòng)條
????????overflow-x:hidden '表示沒(méi)有水平滾動(dòng)條
????????scroll:no或overflow-x:hidden;overflow-y:hidden或overflow:hidden '讓瀏覽器窗口永遠(yuǎn)不出現(xiàn)滾動(dòng)條
????????例:<BODY scroll="no">
注3:“隱藏瀏覽器的滾動(dòng)條”和“禁用瀏覽器的滾動(dòng)條”同時(shí)使用,方可實(shí)現(xiàn)對(duì)所有頁(yè)面有效。
?
有點(diǎn)難描述說(shuō)的是什么。大概就是下面這個(gè)圖:窗體中嵌套一個(gè)Webbrowser,現(xiàn)在網(wǎng)頁(yè)請(qǐng)求關(guān)閉
?
?
響應(yīng)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;}這個(gè)事件不是EventHander的委托,而是HwndSourceHook的委托。
偉大的VS并沒(méi)有對(duì)其做優(yōu)化處理,所以在Xaml中響應(yīng)事件會(huì)出錯(cuò)。只能在后臺(tái)自己寫(xiě)了。
總結(jié)
以上是生活随笔為你收集整理的WPF下如何去除WebBrowser的滚动条和捕获关闭事件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 多重背包Q
- 下一篇: 我学的是设计模式的视频教程——命令模式v