C# 线程

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

namespace WindowsFormsApplication2
{
    public partial class Form2 : Form
    {
        //Test ts = new Test(lbl);
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            TestPrint();
        }


        private string Message = "";
        private Thread thread;
        private DateTime d;
        private int pageIndex = 1;

        //public Test(Label l)
        
//{

        
//}

        public void TestPrint()
        {
            thread = new Thread(TestPrintStart);
            thread.Start();
        }

        public void TestPrintStart()
        {
            d = DateTime.Now;
            Message += "New Printing Start\r\n";
            thread.Join(3000);
            TestPageStart();
        }

        public void TestPageStart()
        {
            Message += string.Format("Wait {0} Seconds\r\n", ((TimeSpan)(DateTime.Now - d)).TotalSeconds);
            TestPageEnd();
        }

        public void TestPageEnd()
        {
            Message += string.Format("Printing Page {0} \r\n", pageIndex);
            if (pageIndex == 5)
            {
                TestPrintEnd();
            }
            else
            {
                pageIndex++;
                d = DateTime.Now;
                thread.Join(3000);
                TestPageStart();
            }
        }

        public void TestPrintEnd()
        {
            Message += string.Format("Printing End");
            lbl.Text = Message.ToString();
        }
    }
}
原文地址:https://www.cnblogs.com/Snowfun/p/2865930.html