投稿者 tecc  (社会人) 投稿日時 2009/5/19 02:03:59
です。

基本的な事なのかもしれませんが教えてください。
社会人なのですが、VB.NETについては小学生以下です。
検討違いな事があればご指摘ください。

イベントについてです。

フォームにWebBrowserコントロールとTextBoxとButtonを設置しました。

質問1:Navigateメソッドをオーバーロードした場合にDocumentCompletedイベントを
発生させページの読み込みの完了を知りたい場合、DocumentCompletedをどちらのクラスで
発生させれば良いのでしょうか?

※私的には、cWebBrowserクラスで完結させるのが良いと思っています。

質問2:質問1と関連してcWebBrowserクラスにてDocumentCompletedイベントを発生
させるには、Inherits WebBrowserにてWebBrowserを継承するのが適切なのですか?

※もしくはイベントを作成するのが普通?Form1クラスのWebBrowserイベントが発生した時
cWebBrowserクラスの表示制御用の変数を変更するとか・・。

'フォームクラス 
Imports System.Windows.Forms
Public Class Form1
    Dim cwb As New cWebBrowser
    Private Sub Button1_Click _
(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button1.Click
        
Dim stURL As String = Me.TextBox1.Text
        Try
            Call cwb.WWWNavigate(WebBrowser1, stURL)
        Catch
            MessageBox.Show(e.ToString())
        End Try
    End Sub
End Class


'cWebBrowserクラス 
Private done As Boolean = False
Public Class cWebBrowser
    Private done As Boolean = False
    Public Sub WWWNavigate(ByVal wb As WebBrowser, ByVal cinURL As String)
        wb.Navigate(cinURL)
        While done = False
            Application.DoEvents()
        End While
    End Sub
End Class