zoukankan      html  css  js  c++  java
  • wpf 多线程操作例(1)

    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 windowform线程操作
    {
    
    //定义一个委托,没有参数
           public delegate void RunDele();
    
        public partial class Form1 : Form
        {
    
            Thread thread;     //造一个线程对象
            public Form1()
            {
                InitializeComponent();
    
                Control.CheckForIllegalCrossThreadCalls = false;  //告诉程序不要检查线程的安全性,比较省力,但会对程序造成不好影响
            }
    
    
            bool isRun = true;
            //点击启动
            private void button1_Click(object sender, EventArgs e)
            {
                thread = new Thread(new ThreadStart(Run));  
    
                thread.IsBackground = true;
    
                thread.Start();   //委托开始执行
    
    
    
               /*& button1.Enabled = false;
                long i = 0;
                while (isRun)
                {
                    listView1.Items.Insert(0,i.ToString());
    
                    i++;
                }
    
                isRun = true;*/
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                isRun = false;
                button1.Enabled = true ;
            }
            long i = 0;
            void Run()
            {
               // button1.Enabled = false;
            
                while (isRun)
                {
                  
                   RunDele();
               }
    
                isRun = true;
            }
    
            void RunDele()
            {
                if (listView1.InvokeRequired)//子线程返回的是true
                {
                    RunDele dr = new RunDele(RunDele);
                    this.Invoke(dr);//转换成父线程
                }
                else
                {
                    listView1.Items.Add(i.ToString());
    
                    i++;
                }
            }
          
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
  • 相关阅读:
    两种常用的启动和关闭MySQL服务
    磁盘分区(20G升50G)
    Google的一些功能和软件
    Google辅助类软件
    Google协作平台
    Google邮箱:Gmail国际顶级邮箱
    Google表单
    Google幻灯片
    在VC/MFC中嵌入Google地图——图文并茂
    与走在创业路上的学子交流——记网维“海大快点”创业团队
  • 原文地址:https://www.cnblogs.com/w-wz/p/4615591.html
Copyright © 2011-2022 走看看