关于截取网页内容的问题
try
                 {                   
                     WebClient MyWebClient = new WebClient();
                     MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。
                     Byte[] pageData = MyWebClient.DownloadData("http://www.baidu.com");//从指定网站下载数据
                     //string pageHtml = Encoding.Default.GetString(pageData);  //如果获取网站页面采用的是GB2312,则使用这句               
                     string pageHtml = Encoding.UTF8.GetString(pageData); //如果获取网站页面采用的是UTF-8,则使用这句
                     richTextBox1.Text = pageHtml;//在控制台输入获取的内容
                     //将获取的内容写入文本
                     //Console.ReadLine(); //让控制台暂停,否则一闪而过了                
                 }
                 catch (WebException webEx)
                 {
                     richTextBox1.Text = webEx.Message.ToString();
                 }
各位大侠,这是我截取网页内容的代码,可以截取网页代码。但是执行时非常慢,而且很卡,用起来非常不方便,点击按钮截取时还不能拖动软件,有没有好点的方法使他又快又不卡。
再麻烦下用正则表达式把网页内容截取到文本框里,我是菜鸟,谢谢大家了
再说明下, 我截取的是UTF8编码的网页
------解决方案--------------------
class Form1
{
 static void ChangeControlValues<T>(T control, Action<T> action) where T : Control 
 {
   if (control.InvokeRequired)
   {
     control.Invoke(action, control);
   }
   else
   {
     action(control);
   }
 }    
 private void Btn_Click(object sender,EventArgs e)
 {
   Btn.Enable=false;
   Thread td=new Thread(_=>{
     try
     {  
       WebClient MyWebClient = new WebClient();
       MyWebClient.Credentials = CredentialCache.DefaultCredentials;
       Byte[] pageData = MyWebClient.DownloadData("http://www.baidu.com");
       string pageHtml = Encoding.UTF8.GetString(pageData);  
       ChangeControlValues(richTextBox1,r=>{r.Text=pageHtml;});
     }
     catch (WebException webEx)
    {
      ChangeControlValues(richTextBox1,r=>{r.Text=webEx.Message.ToString();});
    }
    finally
    {
      ChangeControlValues(Btn,b=>{b.Enable=true;});  
    }
   },null);
  td.Start();
 }
}