2016-08-02 42 views
0

URLに送信した後、ブラウザーコントロールのドキュメントでnull参照を取得していました。私はそれがドキュメントの読み込みが完了していないためだと仮定しました。だから私は、イベントハンドラを追加しました:ブラウザコントロールの終了後のエナンシングメソッドの読み込みが終了しましたか?

string[] m_ArgCache = null; 
    internal void AutomateThreadCreation(string title, string content) 
    { 
     SendToNewThreadByIndex(); 

     m_ArgCache = new string[] { title, content }; 
     Browser.DocumentCompleted += Browser_DocumentCompleted; 
    } 

    void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     if(m_ArgCache != null) 
      AttemptPost(m_ArgCache[0], m_ArgCache[1]); 
    } 

はしかし、私はまだヌルエラーを取得しています:

enter image description here

誰がどのようにこのことについてに行く方法を教えて喜んでだろうか?

編集:

私はページ上にすでに存在していた場合、この方法が正しく動作していることも追加する必要があります。問題は、ページに移動してからメソッドを試してみることになります。

答えて

0

解決策は、DocumentCompletedの代わりにBrowser.Validatedのイベントハンドラを作成することでした。

string[] m_ArgCache = null; 
    internal void AutomateThreadCreation(string title, string content) 
    { 
     SendToNewThreadByIndex(); 

     m_ArgCache = new string[] { title, content }; 
     Browser.Validated += Browser_Validated; 
    } 

    void Browser_Validated(object sender, EventArgs e) 
    { 
     if (m_ArgCache != null) 
      AttemptPost(m_ArgCache[0], m_ArgCache[1]); 
    } 
関連する問題