public Form1()
{
    InitializeComponent();    this.webBrowser1.Navigate(你的登录网址);
    this.webBrowser1.Navigated += new WebBrowserNavigatedEventHandler(webBrowser1_Navigated);// 注册 Navigated 导航完成后 事件
}private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
    this.webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); // 第一次导航完成后注册 Navigating 导航开始之前 事件
}private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    System.Diagnostics.Process.Start(e.Url.ToString());
    e.Cancel = true;
    this.webBrowser1.Navigated -= new WebBrowserNavigatedEventHandler(webBrowser1_Navigated);
    this.webBrowser1.Navigating -= new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
}Session 保存在服务器端应该不受这影响

解决方案 »

  1.   

     Process.Start("iexplore","地址");
      

  2.   

    to:avphoenixi
    我试用了您的代码,但是还没模拟登陆,就在IE打开了……
      

  3.   

    to:avphoenixi
    在界面上一个Login按钮单击事件中。
      

  4.   

    你把
    this.webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
    这行放在 Login 按钮单击事件 第一行试试
      

  5.   

    to:avphoenixi
    现在的情况是WebBrwoser中打开了登陆后的Web页面,同时,IE也打开了。
    可是IE的那个处理没有登陆的状态,WebBrowser中的那个则正常的登陆状态。
      

  6.   

            private void Login(int index)
            {
                webBrowser1.Navigated += new WebBrowserNavigatedEventHandler(webBrowser1_Navigated);            System.Windows.Forms.WebBrowser webBrowser = webBrowser1;                      HtmlDocument htmlDoc = null;                      try
                {
                    htmlDoc = webBrowser.Document;                if (htmlDoc == null)
                    {
                        throw new Exception("HtmlDoc载入出错!");
                    }               HtmlElement eleUuser = htmlDoc.GetElementById("txtUserName");
                   HtmlElement elePass = htmlDoc.GetElementById("txtPassword");
                   HtmlElement eleLogin = htmlDoc.GetElementById("loginBtn");               eleUuser.SetAttribute("value", userName);
                   elePass.SetAttribute("value", userPass);
                   Thread.Sleep(500);
                   eleLogin.InvokeMember("click");           
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                finally
                {                
                    htmlDoc = null;
                }
            } 
      

  7.   

    我首先让webBrowser1打开http://mail.10086.cn/,
    然后点Login,模拟填入用户,密码,模拟点击“登陆”
    谢谢!
      

  8.   

    放第一行的是
    this.webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
    不是 Navigated 
    另外把其它地方对 Navigated 这个事件的注册去掉