多线程中应用委托
来源:互联网 发布:mysql取第一条记录 编辑:程序博客网 时间:2024/05/29 09:14
using System;
using System.Threading;
using System.Windows.Forms;
namespace ThreadTest
{
public partial class Form1 : Form
{
private Thread thread1; //定义线程
delegate void set_Text(string s); //定义委托
set_Text Set_Text; //定义委托
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
label1.Text = "0";
Set_Text = new set_Text(set_lableText); //实例化
}
private void button1_Click(object sender,EventArgs e)
{
thread1 = new Thread(new ThreadStart(run));
thread1.Start();
}
private void set_lableText(string s) //主线程调用的函数
{
label1.Text = s;
}
private void run()
{
for (int i = 0; i < 101; i++)
{
label1.Invoke(Set_Text, new object[] { i.ToString() }); //通过调用委托,来改变lable1的值
Thread.Sleep(1000); //线程休眠时间,单位是ms
}
}
private void Form1_FormClosing(object sender,
FormClosingEventArgs e)
{
if (thread1.IsAlive) //判断thread1是否存在,不能撤消一个不存在的线程,否则会引发异常
{
thread1.Abort(); //撤消thread1
}
}
}
}
- 多线程中应用委托
- 多线程委托的应用
- WinForm中 事件 委托 多线程的应用【以一个下载进度条为例】
- C#多线程中使用代理(委托)
- C#中多线程 委托的使用
- C#多线程中使用代理(委托)
- c#中委托与多线程的实质
- 委托多线程
- C#中多线程应用
- java中多线程应用
- 怎么在项目中应用委托
- [unity3d]unity中C#委托的应用
- unity3d中C#委托的应用
- unity中C#委托的应用
- unity中C#委托的应用
- Unity中对于委托、事件的应用
- 委托应用
- 委托应用
- 通过java调用存储过程往oracle数据库里插数据(无返回值)
- MenuItemLabel
- 构建ASP.NET网站十大必备工具
- Linux C 文件传输程序(TCP && UDP) 遇到的一些问题
- Cognos函数(十一) - parallelPeriod
- 多线程中应用委托
- 高效寻找素数
- Oracle PL/SQL 显示行号 (不积跬步,无以至千里)
- VMWare Tools和Shared folder(共享文件夹)
- Android Studio Checkout GitHub Error:cannot run program "git.exe":CreateProcess error=2
- css position详解
- 7.初学ExtJs——类的别名alias
- c++中vector类型操作实例
- deep learning (RBM)调用