自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WebBrowser控件的常用方法、屬性和事件

開發(fā) 后端
Net Framework 提供了WebBrowser控件,本文介紹了WebBrowser控件的常用方法、屬性和事件,作為制作瀏覽器的基礎(chǔ)。

WebBrowser控件的常用方法:

Navigate(string urlString):瀏覽urlString表示的網(wǎng)址

Navigate(System.Uri url):瀏覽url表示的網(wǎng)址

Navigate(string urlString, string targetFrameName, byte[] postData, string additionalHeaders):

瀏覽urlString表示的網(wǎng)址,并發(fā)送postData中的消息

(通常我們登錄一個(gè)網(wǎng)站的時(shí)候就會把用戶名和密碼作為postData發(fā)送出去)

GoBack():后退

GoForward():前進(jìn)

Refresh():刷新

Stop():停止

GoHome():瀏覽主頁

WebBrowser控件的常用屬性:

Document:獲取當(dāng)前正在瀏覽的文檔

DocumentTitle:獲取當(dāng)前正在瀏覽的網(wǎng)頁標(biāo)題

StatusText:獲取當(dāng)前狀態(tài)欄的文本

Url:獲取當(dāng)前正在瀏覽的網(wǎng)址的Uri

ReadyState:獲取瀏覽的狀態(tài)

WebBrowser控件的常用事件:

DocumentTitleChanged,

CanGoBackChanged,

CanGoForwardChanged,

DocumentTitleChanged,

ProgressChanged,

ProgressChanged

這幾個(gè)意思很明顯,就不細(xì)說了。

Navigating,開始導(dǎo)航

Navigated,導(dǎo)航完成并開始裝載文檔

DocumentCompleted:按理應(yīng)該是整個(gè)文檔裝載完成,即網(wǎng)頁完全顯示完才發(fā)生,但事實(shí)上似乎不是,所以還是慎用這個(gè)事件。用ReadyState來判斷是否完全裝載完成更好。

這些方法、屬性、事件,對于實(shí)際瀏覽來說并不夠,因?yàn)槟阋芴幚韽棾鲂麓翱诘男畔?,就算是你要?qiáng)制所有的鏈接都在同一窗口內(nèi)打開,你也要知道使用者點(diǎn)了什么鏈接吧。但是WebBrowser竟然沒有提供這個(gè)事件,有一個(gè)NewWindow事件,在使用者點(diǎn)擊鏈接將要彈出新窗口時(shí)發(fā)生,但是這個(gè)事件沒有什么有用的參數(shù),你根本就不知道使用者要打開的是什么鏈接??梢奧ebBrowser的設(shè)計(jì)者很不負(fù)責(zé)。為了解決這個(gè)問題,必須借助ShDocVw.dll。工程--添加引用--COM--Microsoft Internet Controls--確定,就可以把ShDocVw.dll添加到工程中了,然后我們就可以這樣:

  1. //(假設(shè)wb是一個(gè)已經(jīng)存在的WebBrowser)  
  2. wb.Navigate("about:blank");  
  3. ((SHDocVw.DWebBrowserEvents_Event)wb.ActiveXInstance).NewWindow+=BrowserNewWindow; 

DWebBrowserEvents_Event是一個(gè)接口,它提供了NewWindow事件,這個(gè)事件帶有詳細(xì)的參數(shù)。

BrowserNewWindow就是NewWindow事件的處理程序:

  1. void BrowserNewWindow(string url, int flag, string target, ref object data,  
  2.     string header, ref bool processed) {  
  3.     processed=true;  
  4.     wb.Navigate(url, null, (byte[])data, header);  

processed=true的目的是為了防止新窗口在ie中打開。

除了DWebBrowserEvents_Event,還有一個(gè)DWebBrowserEvents2_Event接口,同樣可以實(shí)現(xiàn)上述功能,區(qū)別是后者適用于ie7以上的瀏覽器,當(dāng)然前者也可用于ie7,只是不能利用其新特性而已(如在新窗口中打開鏈接和在新標(biāo)簽中打開鏈接是兩個(gè)不同的事件(NewWindow2,NewWindow3))。

【編輯推薦】

  1. 關(guān)于C#知識點(diǎn)總結(jié)
  2. C#開發(fā)和使用中的33個(gè)技巧
  3. SQL Server存儲過程介紹
  4. C#下SQL Server 2008表類型參數(shù)傳遞
  5. C#向SQL Server中插入記錄時(shí)的問題
責(zé)任編輯:book05 來源: 新浪博客
相關(guān)推薦

2009-08-18 13:54:41

C#標(biāo)簽

2010-08-12 13:59:37

FlexList控件

2009-09-17 16:45:56

C#數(shù)組

2015-03-03 09:19:12

UIScrollVie

2009-12-30 13:59:58

Silverlight

2025-02-10 07:05:00

WinFormUI線程

2017-02-17 09:37:12

Android自定義控件方法總結(jié)

2012-08-13 09:56:45

Windows Pho

2011-08-16 10:45:25

iPhone開發(fā)控件

2010-01-08 18:26:34

VB.NET網(wǎng)頁控件事

2014-11-14 10:57:24

Android控件

2010-10-08 09:42:23

JavaScript方

2012-05-14 10:14:42

WinForm

2010-08-06 09:56:06

Flex事件機(jī)制

2010-09-28 10:33:59

HTML DOM Ch

2009-10-10 16:40:37

VB.NET Cont

2009-07-17 17:33:22

jQuery

2009-08-03 14:42:50

C#自定義控件

2010-08-24 13:55:38

DIVstyle

2015-03-03 15:59:25

Android開發(fā)屬性
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號