我实在是解决不了了,请高人指教阿!!
我的代码如下,看看有什么问题:public struct HTMLpage
{
public string url;
public string HTMLinfo;
}
IEApp ieapp = new IEApp();private void btnstate_Click(object sender, System.EventArgs e)
{
           EixstCheck();
} public void EixstCheck()
{
string Furl = txtaddr.Text;
ieapp.MyNavigate(txtaddr.Text);//调用这个函数,想等到MyWebBrowser_DocumentComplete触发完毕之后在执行下边的操作,可就是无法实现,触发不料阿,到底问题处在哪里阿?

string Fpage = ieapp.Page.HTMLinfo;
string Surl = Furl + "%20and%201=2";
ieapp.MyNavigate(Surl);
string Spage = ieapp.Page.HTMLinfo; if(!Object.Equals(Fpage,Spage))
{
                Eresult.CanInjector = true;
}
else
Eresult.CanInjector = false;
}public class IEApp : System.Windows.Forms.Form
{
              .....
public void MyNavigate(string url)
{
object anObject = new object();

 
try
{
Page.url = url;
MyWebBrowser.Navigate(url,ref anObject,refanObject,ref anObject,ref anObject);
               
}
catch(Exception ex)
{MessageBox.Show("错误:"+ex.Message);} }
private void MyWebBrowser_DocumentComplete(object sender,AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e)
{
mshtml.HTMLDocumentClass myDocument =(mshtml.HTMLDocumentClass)MyWebBrowser.Document;
finfo.file = myDocument.body.innerText;
}

解决方案 »

  1.   

    我没有隐藏仍然有这个问题,无法响应DocumentCompleted事件。不过我在XP下是正常的,在windows server 2003不响应。http://community.csdn.net/Expert/TopicView1.asp?id=4430183
      

  2.   

    如果你只是要判断网页是否加载完毕,就用下面代码就行了:
    if(axWebBrowser1.ReadyState!=SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE)
    {
    MessageBox.Show("文档还未加载完成,请稍候再试");
    return;
    }
    不过我在DocumentCompleted事件中加了代码也能执行