zoukankan      html  css  js  c++  java
  • net 2.0 中如何在线程引发的事件中控制forms controls

    这个是安全方法.

     private void Form1_Load(object sender, EventArgs e)
            
    {
                Post p 
    = new Post();
                p.OnPost 
    += new Post.OnPostHandler(p_Post);
                t 
    = new Thread(new ThreadStart(p.Go));
            }


            
    void p_Post(int m, string result)
            
    {
                
    if (this.textBox1.InvokeRequired)
                
    {
                    Post.OnPostHandler d 
    = new Post.OnPostHandler(p_Post);
                    
    this.Invoke(d,new object[]{m,result});
                   
                }

                
    else
                
    {
                    
    this.textBox1.Text = m.ToString();
                }

               
            }

    class Post
        
    {
           
    public Post()
           
    {
           }

            
    public delegate void OnPostHandler(int m,string result);
            
    public event OnPostHandler OnPost;
            
    private static int count = 0;
            
    public void Go()
            
    {

                WebClient webClient 
    = new WebClient();
                webClient.Headers.Add(
    "Accept""image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,*/*");
                webClient.Headers.Add(
    "Referer""http://www.xmsell.com/zhuanti/jjworld/match_show.asp?id=3");
                webClient.Headers.Add(
    "Accept-Language""zh-cn");
                webClient.Headers.Add(
    "Content-Type""application/x-www-form-urlencoded");
                webClient.Headers.Add(
    "Accept-Encoding""gzip, deflate");
                webClient.Headers.Add(
    "User-Agent""Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1;)");
                
    string postStr = "Grade=%CD%B6%CB%FB%D2%BB%C6%B1%A3%A1%A3%A1%A3%A1&Submit=+%CD%B6+%C6%B1+";
                
    byte[] data = Encoding.ASCII.GetBytes(postStr);
                
    while (true)
                
    {
                    count
    ++;
                    
    byte[] responseArray = webClient.UploadData("http://www.xmsell.com/zhuanti/jjworld/match_show.asp?action=add&id=3""POST", data);
                    
    // Thread.Sleep(500);
                    string responseStr = Encoding.GetEncoding("Gb2312").GetString(responseArray);

                    
    if (OnPost != null)
                    
    {
                        OnPost(count, responseStr);
                    }

                }

            }

        }
  • 相关阅读:
    163源
    nginx限制某个IP同一时间段的访问次数
    CentOS_6.5安装Nginx+PHP+MySQL
    php安装,mysql安装
    linux卸载php
    nginx下php频繁卡死502
    python与selenium自动化基础-xlrd读取数据,Excel生成报告
    python与selenium自动化基础-测试多账户
    python与selenium自动化基础-测试用例错误处理及生成log
    python与selenium自动化基础-测试用例数据数据分离
  • 原文地址:https://www.cnblogs.com/lovebanyi/p/300847.html
Copyright © 2011-2022 走看看