Author:水如烟
下面是扩展功能。先从简单的做起。
按钮和状态栏的显示隐藏
代码:
Namespace
LzmTW.uSystem.uWindows.uForm.Web
Public Class WebBrowser
Inherits System.Windows.Forms.WebBrowser
Sub New ()
Me .Url = New System.Uri( " About:Blank " , System.UriKind.Absolute)
End Sub
' '按钮、状态栏的隐藏显示
' '动作由菜单发出
Public Event StatusBarVisibleChanged As EventHandler
Public Event AddressBarVisibleChanged As EventHandler
Public Event LinkBarVisibleChanged As EventHandler
Public Event StandarBarVisibleChanged As EventHandler
Private gStatusBarVisible As Boolean
Private gAddressBarVisible As Boolean
Private gLinkBarVisible As Boolean
Private gStandarBarVisible As Boolean
Public Property StatusBarVisible() As Boolean
Get
Return Me .gStatusBarVisible
End Get
Set ( ByVal value As Boolean )
If Me .gStatusBarVisible <> value Then
Me .gStatusBarVisible = value
RaiseEvent StatusBarVisibleChanged( Me , New EventArgs)
End If
End Set
End Property
Public Property AddressBarVisible() As Boolean
Get
Return Me .gAddressBarVisible
End Get
Set ( ByVal value As Boolean )
If Me .gAddressBarVisible <> value Then
Me .gAddressBarVisible = value
RaiseEvent AddressBarVisibleChanged( Me , New EventArgs)
End If
End Set
End Property
Public Property LinkBarVisible() As Boolean
Get
Return Me .gLinkBarVisible
End Get
Set ( ByVal value As Boolean )
If Me .gLinkBarVisible <> value Then
Me .gLinkBarVisible = value
RaiseEvent LinkBarVisibleChanged( Me , New EventArgs)
End If
End Set
End Property
Public Property StandarBarVisible() As Boolean
Get
Return Me .gStandarBarVisible
End Get
Set ( ByVal value As Boolean )
If Me .gStandarBarVisible <> value Then
Me .gStandarBarVisible = value
RaiseEvent StandarBarVisibleChanged( Me , New EventArgs)
End If
End Set
End Property
End Class
End Namespace
Public Class WebBrowser
Inherits System.Windows.Forms.WebBrowser
Sub New ()
Me .Url = New System.Uri( " About:Blank " , System.UriKind.Absolute)
End Sub
' '按钮、状态栏的隐藏显示
' '动作由菜单发出
Public Event StatusBarVisibleChanged As EventHandler
Public Event AddressBarVisibleChanged As EventHandler
Public Event LinkBarVisibleChanged As EventHandler
Public Event StandarBarVisibleChanged As EventHandler
Private gStatusBarVisible As Boolean
Private gAddressBarVisible As Boolean
Private gLinkBarVisible As Boolean
Private gStandarBarVisible As Boolean
Public Property StatusBarVisible() As Boolean
Get
Return Me .gStatusBarVisible
End Get
Set ( ByVal value As Boolean )
If Me .gStatusBarVisible <> value Then
Me .gStatusBarVisible = value
RaiseEvent StatusBarVisibleChanged( Me , New EventArgs)
End If
End Set
End Property
Public Property AddressBarVisible() As Boolean
Get
Return Me .gAddressBarVisible
End Get
Set ( ByVal value As Boolean )
If Me .gAddressBarVisible <> value Then
Me .gAddressBarVisible = value
RaiseEvent AddressBarVisibleChanged( Me , New EventArgs)
End If
End Set
End Property
Public Property LinkBarVisible() As Boolean
Get
Return Me .gLinkBarVisible
End Get
Set ( ByVal value As Boolean )
If Me .gLinkBarVisible <> value Then
Me .gLinkBarVisible = value
RaiseEvent LinkBarVisibleChanged( Me , New EventArgs)
End If
End Set
End Property
Public Property StandarBarVisible() As Boolean
Get
Return Me .gStandarBarVisible
End Get
Set ( ByVal value As Boolean )
If Me .gStandarBarVisible <> value Then
Me .gStandarBarVisible = value
RaiseEvent StandarBarVisibleChanged( Me , New EventArgs)
End If
End Set
End Property
End Class
End Namespace
类WinStatusStip需要修改的代码:
Private
gWebBrowser
As
WebBrowser
< DesignerSerializationVisibility(DesignerSerializationVisibility.Visible) > _
Public Property WebBrowser() As WebBrowser
Get
Return Me .gWebBrowser
End Get
Set ( ByVal value As WebBrowser)
If gWebBrowser IsNot Nothing Then
RemoveHandler gWebBrowser.ProgressChanged, AddressOf WebBrowser_ProgressChanged
RemoveHandler gWebBrowser.StatusTextChanged, AddressOf WebBrowser_StatusTextChanged
RemoveHandler gWebBrowser.StatusBarVisibleChanged, AddressOf WebBrowser_StatusBarVisibleChanged
gWebBrowser.StatusBarVisible = False
gWebBrowser = Nothing
End If
If value IsNot Nothing Then
gWebBrowser = value
gWebBrowser.StatusBarVisible = True
AddHandler gWebBrowser.ProgressChanged, AddressOf WebBrowser_ProgressChanged
AddHandler gWebBrowser.StatusTextChanged, AddressOf WebBrowser_StatusTextChanged
AddHandler gWebBrowser.StatusBarVisibleChanged, AddressOf WebBrowser_StatusBarVisibleChanged
End If
End Set
End Property
Private Sub WebBrowser_StatusBarVisibleChanged( ByVal sender As Object , ByVal e As EventArgs)
Me .Visible = Me .gWebBrowser.StatusBarVisible
End Sub
< DesignerSerializationVisibility(DesignerSerializationVisibility.Visible) > _
Public Property WebBrowser() As WebBrowser
Get
Return Me .gWebBrowser
End Get
Set ( ByVal value As WebBrowser)
If gWebBrowser IsNot Nothing Then
RemoveHandler gWebBrowser.ProgressChanged, AddressOf WebBrowser_ProgressChanged
RemoveHandler gWebBrowser.StatusTextChanged, AddressOf WebBrowser_StatusTextChanged
RemoveHandler gWebBrowser.StatusBarVisibleChanged, AddressOf WebBrowser_StatusBarVisibleChanged
gWebBrowser.StatusBarVisible = False
gWebBrowser = Nothing
End If
If value IsNot Nothing Then
gWebBrowser = value
gWebBrowser.StatusBarVisible = True
AddHandler gWebBrowser.ProgressChanged, AddressOf WebBrowser_ProgressChanged
AddHandler gWebBrowser.StatusTextChanged, AddressOf WebBrowser_StatusTextChanged
AddHandler gWebBrowser.StatusBarVisibleChanged, AddressOf WebBrowser_StatusBarVisibleChanged
End If
End Set
End Property
Private Sub WebBrowser_StatusBarVisibleChanged( ByVal sender As Object , ByVal e As EventArgs)
Me .Visible = Me .gWebBrowser.StatusBarVisible
End Sub
类WinToolStrip、AddressToolStip也作相应的修改。这里略去,后面有全部代码供下载参考。