掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WebbrowserコントロールにMouseLeaveイベント (ID:145050)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
遅レスごめんなさい。 自己流ですが,サンプルを紹介するので参考にしてください。 WebBrowserを継承するなら次のようなコードで実現できます。 Public Class Form1 Private WithEvents WebBrowser As New ExWebBrowser Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.WebBrowser.Dock = DockStyle.Fill Me.Controls.Add(WebBrowser) Me.WebBrowser.GoHome() End Sub Private Sub WebBrowser_MouseLeave(ByVal e As System.Windows.Forms.MouseEventArgs) Handles WebBrowser.MouseLeave MessageBox.Show("MouseLeave!") End Sub End Class Public Class ExWebBrowser Inherits WebBrowser Private WithEvents Body As HtmlElement Public Shadows Event MouseLeave(ByVal e As MouseEventArgs) Protected Overrides Sub OnDocumentCompleted(ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Me.Body = Me.Document.Body MyBase.OnDocumentCompleted(e) End Sub Private Sub Body_MouseLeave(ByVal sender As Object, ByVal e As System.Windows.Forms.HtmlElementEventArgs) Handles Body.MouseLeave RaiseEvent MouseLeave(New MouseEventArgs(Windows.Forms.MouseButtons.None, 0, e.ClientMousePosition.X, e.ClientMousePosition.Y, 0)) End Sub End Class 継承しないなら次のようなコードで実現できます。 Public Class Form1 Private WithEvents WebBrowser As New WebBrowser Private WithEvents ExBrowser As New ExBrowser(WebBrowser) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.WebBrowser.Dock = DockStyle.Fill Me.Controls.Add(WebBrowser) Me.WebBrowser.GoHome() End Sub Private Sub WebBrowser_MouseLeave(ByVal e As System.Windows.Forms.MouseEventArgs) Handles ExBrowser.MouseLeave MessageBox.Show("MouseLeave!") End Sub End Class Public Class ExBrowser Public WithEvents _Browser As WebBrowser Private WithEvents _Body As HtmlElement Public Event MouseLeave(ByVal e As MouseEventArgs) Public Sub New(ByVal Browser As WebBrowser) Me._Browser = Browser End Sub Private Sub _Browser_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles _Browser.DocumentCompleted Me._Body = DirectCast(sender, WebBrowser).Document.Body End Sub Private Sub _Body_MouseLeave(ByVal sender As Object, ByVal e As System.Windows.Forms.HtmlElementEventArgs) Handles _Body.MouseLeave RaiseEvent MouseLeave(New MouseEventArgs(MouseButtons.None, 0, e.ClientMousePosition.X, e.ClientMousePosition.Y, 0)) End Sub End Class
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.