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);
                  
          //為代理類型創建新的實例
                  private delegateTest test=null;
                  
          //為了不影響界面響應,需要新建一個線程
                  Thread th = null;
                  
          public Form1()
                  {
                      InitializeComponent();
                      
          //為線程初始化
                      th = new Thread(new ThreadStart(run));
                      
          //初始化代理實例
                      test = new delegateTest(testD);
                  }

                  
          private void button1_Click(object sender, EventArgs e)
                  {
                      
          //方法通過調用線程開始
                      th.Start();
                  }
                  
          /// <summary>
                  
          /// 實際進行循環操作的函數
                  
          /// </summary>
                  void run()
                  {
                      
          for (int i = 0; i <= 100; i++)
                      {
                          
          ///每次需要長時間處理的過程
                          Thread.Sleep(100);
                          
          //調用代理的方法
                          this.Invoke(test, i);
                      }
                  }
                  
          /// <summary>
                  
          /// 處理界面元素顯示進度
                  
          /// </summary>
                  
          /// <param name="p"></param>
                  void testD(int p)
                  {
                      
          //處理界面元素顯示進度
                      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 閱讀(312) 評論(0)  編輯  收藏 所屬分類: .Net
          主站蜘蛛池模板: 新野县| 开鲁县| 兖州市| 彰武县| 永寿县| 吴江市| 龙门县| 汕头市| 大荔县| 枝江市| 潼南县| 宾阳县| 诸暨市| 康平县| 达日县| 屏山县| 通江县| 西乌珠穆沁旗| 大余县| 大田县| 达孜县| 鄂州市| 阿瓦提县| 兰州市| 鄂伦春自治旗| 措美县| 休宁县| 东方市| 阿瓦提县| 都昌县| 类乌齐县| 长治县| 舟山市| 顺昌县| 新密市| 偃师市| 建宁县| 盐山县| 安图县| 鲜城| 巴楚县|