2008-12-19 70 views

回答

7

捕獲的的導航事件WebBrowser控件並將其NavigatingCancelEventArgs的Cancel屬性設置爲True。

Visual Basic代碼...

 
Private Sub WebBrowser1_Navigating(...) Handles WebBrowser1.Navigating 
    If WebBrowser1Locked Then 
     e.Cancel = True 
    End If 
End Sub 

這需要一個全局鎖定布爾變量。

 
Partial Public Class Window1 
    Dim WebBrowser1Locked As Boolean = True 
    ... 
End Class 

和鎖定和解鎖,以圍繞期望導航纏繞。

 
WebBrowser1Locked = False 
WebBrowser1.NavigateToString("...") 
WebBrowser1Locked = True 
1

您將不得不清理輸入。

不允許錨或腳本標記或屬性。 (我不知道你是否可以在控件上禁用javascript,但這將是一個好主意。

+0

這不會對我的目的工作。我希望我的用戶創建鏈接。我只想確保「預覽」窗格是正確頁面的預覽。 – 2008-12-19 16:54:42

+0

哦,我明白了。這是相當的醃製。 – EndangeredMassa 2008-12-19 17:08:28

6

難道你不能只在整個控件上放置一個transparent window並捕獲所有的鼠標和鍵盤事件嗎?

2

也許你可以捕捉控件的單擊事件,並把它扔掉它試圖導航到鏈路之前?我不知道這是否是可能的,但我會嘗試。

+0

WebBrowser控件沒有Click事件,而是一個導航事件。查看我的答案以獲得完整的解 – 2008-12-19 20:09:57

-1

有沒有人嘗試過與WebBrowserControl.AllowNavigation =假 我認爲這會做。您可以在運行時根據需要啓用和禁用該屬性。我使用Timer來禁用自定義延遲的屬性,以便文檔有時間加載。

祝你好運, 丹