zoukankan      html  css  js  c++  java
  • C# webbrowser小结


    1.执行js:

     this.webBrowser1.ObjectForScripting = this;
                        this.webBrowser1.DocumentText = "<html><script type='text/javascript' src='https://xui.ptlogin2.qq.com/js/10020/h_xui.js?max_age=604800'></script>" +
                            "<script type='text/javascript'>function getUin(){pt.imgClick(this);return false;}</script><body></body></html>";
                        this.webBrowser1.Document.InvokeScript("getUin");




    2.WebBrowser常用属性

    .Navigate(new Uri(address)); //打开链接

    .Refresh();//刷新

    .GoBack();//后退

    .GoForward();//前进

    .Dock = DockStyle.Fill; //完全停靠在父容器中

    .ScriptErrorsSuppressed = true ; //关闭错误显示

    Uri a = new Uri(WebBrowser.Document.ActiveElement.GetAttribute("href"));//获取点击中的链接地址

    3、WebBrowser常用事件处理

    .Navigated += new WebBrowserNavigatedEventHandler(WebBrowser_Navigated);//加载中处理事件

    .DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser _DocumentCompleted);//页面加载完成处理事件

    .NewWindow += new CancelEventHandler(WebBrowser _NewWindow);//新的窗口中打开页面

    4、事件处理函数

    5.打开新连接

       

     // 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();
    
               }
    
            }
    
     
       

    6、新窗口处理

          
     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;//取消在默认浏览器中打开        
    
            }



    7、用户自动登陆处理

    #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
    
    
           public static Image GetRegCodePic(WebBrowser wbMail)
            {
                HtmlElement yy = (HtmlElement)wbMail.Document.Body.DomElement;
    
    
    
    
                HTMLDocument doc = (HTMLDocument)wbMail.Document.DomDocument;
                HTMLBody body = (HTMLBody)doc.body;
                IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();
                int m = GetPicIndex(wbMail, "getimage");
                if (m != -1)
                {
                    IHTMLControlElement img = (IHTMLControlElement)wbMail.Document.Images[m].DomElement;
                    rang.add(img);
                    rang.execCommand("Copy", false, null);
                    Image RegImg = Clipboard.GetImage();
                    Clipboard.Clear();
                    return RegImg;
                }
                else
                {
                    return null;
                }
            }
            public static int GetPicIndex(WebBrowser wbMail, string Src)
            {
                int imgnum = -1;
                for (int i = 0; i < wbMail.Document.Images.Count; i++) //获取所有的Image元素  
                {
                    IHTMLImgElement img = (IHTMLImgElement)wbMail.Document.Images[i].DomElement;
                    MessageBox.Show(img.src);
                    if (img.src.Contains(Src)) return i;
    
                }
                return imgnum;
            }


    c#操作excel:

    vs2010操作Excel
    要求将数据显示在Excel表中,并且要设好数据格式。虽说如此,真正实现了自己的功能,还是费了不少时间。相信还是有很多与我相似的人需要实现这种功能。那就做个小结吧。不妥之处,请指正哦。
      1.添加引用--com---microsoft excel 11.0 object library
      2在需要访问excel的过程中定义
        dim exapp as excel.application  '定义excel应用程序
       dim exbook as excel.workbook ‘定义工作簿
      dim exsheet as excel.worksheet ‘定义工作表
      dim exrange as excel.range   '定义工作区域
      3.有了上面的定义,基本上excel的操作就手到擒来了
      exapp.visible=true  '显示excel 程序
      exbook=exapp.workbooks.add  '添加新工作簿  或exbook=exapp.workbooks.open("薄名")  / 打开已在工作薄
         exsheet=exbook.sheets(n)   '获得第n个工作表的控制句柄,后面就由它处理了
        exsheet.cells(row,col)=值    '对指定单元格赋值,这个操作大量出现哦
        exsheet.range(cells,cells).font       '这个属性也常用到,设置格式就是它了:
        exsheet.range(cells,cells).font.colorindex=3  '设置颜色
           exsheet.range(cells,cells).Borders.LineStyle=1'设边框线
           exsheet.range(cells,cells).EntireColumn.AutoFit  '自动列宽  /可以改为自动行高哦
           exsheet.range(cells,cells).merge         '合并单元格,复杂的表格这个也用的多哦
          exsheet.range(cells,cells).HorizontalAlignment=3  '水平居中  ,当然也可以改为垂直的
           exSheet.PageSetup.Orientation = 2   '页面横向
      熟练以上这些,基本上就可以实现一些要求了。
      4。最后是保存文件
      exsheet.saveas("文件名")
      或
      exbook.save
      5.清理变量
         exsheet=nothing
         exbook.close
         exbook=nothing
        exapp.quit
        exapp=nothing


  • 相关阅读:
    172. Factorial Trailing Zeroes
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
    91. Decode Ways
    LeetCode 328 奇偶链表
    LeetCode 72 编辑距离
    LeetCode 226 翻转二叉树
    LeetCode 79单词搜索
    LeetCode 198 打家劫舍
    LeetCode 504 七进制数
  • 原文地址:https://www.cnblogs.com/bestdata/p/3199793.html
Copyright © 2011-2022 走看看