代码篇C#网络编程之回调

来源:互联网 发布:吉诺比利十大诡异数据 编辑:程序博客网 时间:2024/04/29 00:45
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;using System.Windows.Forms;namespace _002_回调{    public partial class Form1 : Form    {        //---回调一般是在线程中使用        //--定义回调        private delegate void SetProgressBarValueCallBack(int value);        //--声明回调        private SetProgressBarValueCallBack setProgressBarValueCallBack;        public Form1()        {            InitializeComponent();        }        private void btn_start_Click(object sender, EventArgs e)        {            //--Form1.CheckForIllegalCrossThreadCalls = false;            //--实例化委托            setProgressBarValueCallBack = new SetProgressBarValueCallBack(SetValue);            Thread setValueThread = new Thread(SetProgressBarValue);            setValueThread.Start();            for(int i =0; i <= 100; i++)            {                Application.DoEvents();                Thread.Sleep(50);                pg_progressBar1.Value = i;            }        }        //---设置进度条2的值        private void SetProgressBarValue()        {            for(int i =0; i <= 100; i++)            {                Thread.Sleep(50);                pg_progressBar2.Invoke(setProgressBarValueCallBack, i);                //---pg_progressBar2.Value = i;            }        }        //--设置进度条2的委托的方法        private void SetValue(int value)        {            pg_progressBar2.Value = value;        }    }}

0 0