using System;
          using System.Collections.Generic;
          using System.ComponentModel;
          using System.Data;
          using System.Drawing;
          using System.Text;
          using System.Windows.Forms;
          using System.Threading;

          namespace WindowsApplication4
          {
              
          public partial class Form1 : Form
              {
                  
          //聲明代理類型
                  delegate void delegateTest(int p);
                  
          //為代理類型創(chuàng)建新的實(shí)例
                  private delegateTest test=null;
                  
          //為了不影響界面響應(yīng),需要新建一個線程
                  Thread th = null;
                  
          public Form1()
                  {
                      InitializeComponent();
                      
          //為線程初始化
                      th = new Thread(new ThreadStart(run));
                      
          //初始化代理實(shí)例
                      test = new delegateTest(testD);
                  }

                  
          private void button1_Click(object sender, EventArgs e)
                  {
                      
          //方法通過調(diào)用線程開始
                      th.Start();
                  }
                  
          /// <summary>
                  
          /// 實(shí)際進(jìn)行循環(huán)操作的函數(shù)
                  
          /// </summary>
                  void run()
                  {
                      
          for (int i = 0; i <= 100; i++)
                      {
                          
          ///每次需要長時間處理的過程
                          Thread.Sleep(100);
                          
          //調(diào)用代理的方法
                          this.Invoke(test, i);
                      }
                  }
                  
          /// <summary>
                  
          /// 處理界面元素顯示進(jìn)度
                  
          /// </summary>
                  
          /// <param name="p"></param>
                  void testD(int p)
                  {
                      
          //處理界面元素顯示進(jìn)度
                      progressBar1.Value = p;
                      label1.Text 
          = p+"%";
                  }

                  
          private void stop_Click(object sender, EventArgs e)
                  {
                      th.Abort();
                      
          this.Invoke(test, 0);
                  }
              }
          }
          posted on 2010-08-04 09:23 Ying-er 閱讀(313) 評論(0)  編輯  收藏 所屬分類: .Net
          主站蜘蛛池模板: 扶余县| 浙江省| 乐东| 澄江县| 康乐县| 顺平县| 临湘市| 上林县| 北京市| 宁化县| 白城市| 界首市| 辛集市| 中卫市| 英德市| 万盛区| 确山县| 依兰县| 佛坪县| 晴隆县| 固镇县| 陇西县| 阜南县| 汾西县| 赤壁市| 长阳| 莒南县| 柯坪县| 北海市| 木里| 长岭县| 新密市| 美姑县| 西宁市| 高清| 定安县| 合阳县| 平罗县| 定州市| 同德县| 三亚市|