zoukankan      html  css  js  c++  java
  • 多线程回调传值例子|C#多线程回调传值例子

    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;
    using System;
    using System.Threading;
    namespace DataImportFromAccess
    {


        //声明一个回调函数:注意传递的参数要与Example类中的函数参数类型一致
        public delegate void ExampleCallback(int lineCount, Label lb);
        public class Form1{
            public Form1()
            {
                InitializeComponent();
            }

            public void CurrentNumber(int tempCurrent,Label lb)
            {
                lb.Text = tempCurrent.ToString();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                ThreadWithData twd = new ThreadWithData(1, 100,this.label1,new ExampleCallback(CurrentNumber));
                Thread td = new Thread(new ThreadStart(twd.RunMethod));
                td.Start();
            }   
            private void button2_Click(object sender, EventArgs e)
            {
                ThreadWithData twd = new ThreadWithData(2, 200,this.label2, new ExampleCallback(CurrentNumber));
                Thread td = new Thread(new ThreadStart(twd.RunMethod));
                td.Start();
            }
        }
        public class ThreadWithData
        {
            private int start = 0;
            private int end = 0;
            private ExampleCallback callBack;
            private Label lb;

            public ThreadWithData(int start,int end,Label lb,ExampleCallback callBack)
            {
                this.start = start;
                this.end = end;
                this.callBack=callBack;
                this.lb = lb;
            }
            public void RunMethod()
            {
                for(int i=start;i<end;i++)
                {
                    Thread.Sleep(1000);
                    if (callBack != null)
                        callBack(i,lb);
                }
             
            }
        }
    }

  • 相关阅读:
    django之创建第3个项目:编写第一个模板文件
    django之创建第2个项目
    django之创建第1个项目并查看网页效果
    python 第三库卸载办法
    django之环境变量配置
    数据库中的函数研究
    数据库中的 Date 函数研究
    数据库查询语句研究
    tablib.Dataset()操作exl类型数据之“类方法”研究
    tablib把数据导出为Excel、JSON、CSV等格式的Py库(写入数据并导出exl)
  • 原文地址:https://www.cnblogs.com/bestsaler/p/1835648.html
Copyright © 2011-2022 走看看