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),需要新建一個(gè)線程
                  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++)
                      {
                          
          ///每次需要長時(shí)間處理的過程
                          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
          主站蜘蛛池模板: 龙游县| 怀远县| 商南县| 荆门市| 崇礼县| 蒲城县| 固镇县| 汶川县| 嘉峪关市| 南京市| 峨山| 铁力市| 资中县| 景东| 纳雍县| 永昌县| 永福县| 岳西县| 平泉县| 大连市| 陵川县| 石景山区| 罗江县| 福建省| 德阳市| 诸城市| 宁城县| 宝山区| 治县。| 依安县| 黑水县| 玉龙| 安溪县| 崇阳县| 新营市| 建德市| 蓝田县| 台东市| 尖扎县| 巩留县| 横峰县|