您尚未登录,请登录后浏览更多内容! 登录 | 注册并了解

QQ登录

只需一步,快速开始

 找回密码
 注册并了解

QQ登录

只需一步,快速开始

查看: 1860|回复: 0
打印 上一主题 下一主题
收起左侧

c#中WebBrowser控件使用心得 

[复制链接]

点击这里给我发消息

QQ

跳转到指定楼层
楼主
发表于 2014-4-14 10:33:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1WebBrowser常用属性
.Refresh();//刷新
.GoBack();//后退
.GoForward();//前进
.Navigate(new Uri(address)); //打开链接
.Dock = DockStyle.Fill; //完全停靠在父容器中
.ScriptErrorsSuppressed = true ; //关闭错误显示
Uri a = new Uri(WebBrowser.Document.ActiveElement.GetAttribute("href"));//获取点击中的链接地址
2WebBrowser常用事件处理
.Navigated += new WebBrowserNavigatedEventHandler(WebBrowser_Navigated);//加载中处理事件
.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser _DocumentCompleted);//页面加载完成处理事件
.NewWindow += new CancelEventHandler(WebBrowser _NewWindow);//新的窗口中打开页面
3、事件处理函数
3.1、打开新连接
        // Navigates to the given URL if it is valid.
        private void Navigate(WebBrowser web,String address)
        {
            if (String.IsNullOrEmpty(address)) return;
            if (address.Equals("about:blank")) return;
            if (!address.StartsWith("http://")) address = "http://" + address;
            try
            {
                WebBrowser.Navigate(new Uri(address));
               
            }
            catch (System.UriFormatException)
            {
                return;
            }
            // Updates the URL in TextBoxAddress upon navigation.
            private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
           {
              toolStripTextBox1.Text = WebBrowser.Url.ToString();
           }
        }
  
3.2、新窗口处理
        private void WebBrowser_NewWindow(object sender, CancelEventArgs e)
        {
            WebBrowser webb = new WebBrowser();
           
            WebBrowser = WebBrowsers[webtab.SelectedIndex];
            webb.Name = "webb" + webtab.TabCount;
            Uri a = new Uri(WebBrowser.Document.ActiveElement.GetAttribute("href"));         
            webb.Url = a;
            webb.Dock = DockStyle.Fill;
            TabPage p = new TabPage();            
            p.Controls.Add(webb);
            webtab.TabPages.Add(p);
            webtab.SelectedTab = p;
            webb.NewWindow += new CancelEventHandler(WebBrowser_NewWindow);
            
            e.Cancel = true;//取消在默认浏览器中打开         
        }
3.3、用户自动登陆处理
#region 用户自动登陆
private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
      HtmlDocument log_auto = WebBrowser.Document;
      HtmlElement log_btn = null;
       foreach (HtmlElement em in log_auto.All) //轮循
       {
             string str = em.Name;
             string id = em.Id;
             if ((str == "username") || (str == "password") || (str == "submit")) //减少处理
             {
                    switch (str)
                    {
                        case "username": em.SetAttribute("value", usernamexml);
                            break; //赋用户名
                        case "password": em.SetAttribute("value", userpasswordxml );
                            break; //赋密码
                        case "submit": log_btn = em;
                            break; //获取submit按钮
                        default:
                            break;
                    }
                }
            }
            log_btn.InvokeMember("click"); //触发submit事件                 
        }
#endregion




上一篇:c# 获取CPU使用率和内存
下一篇:WebBrowser控件教程&使用
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对 订阅订阅
您需要登录后才可以回帖 登录 | 注册并了解

本版积分规则

       
    闽ICP备18004340号-3

GMT+8, 2024-5-20 06:18 , Processed in 0.368486 second(s), 43 queries .

返回顶部