2016-08-02 35 views
0

因此,我在发送到Url后在浏览器控件的文档上获得了null引用。我认为这是因为文档没有完成加载。所以我增加了一个事件处理程序:C#执行浏览器控件完成加载后的执行方法?

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

解决方案是为Browser.Validated而不是DocumentCompleted创建事件处理程序。

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]); 
    } 
相关问题