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;
namespace
winfromDeom
{
public
partial
class
Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
private
void
Form1_Load(
object
sender, EventArgs e)
{
button2.Enabled
=
false
;
}
//
声名一个线程
public
Thread t;
public
delegate
void
upUI();
private
void
button1_Click(
object
sender, EventArgs e)
{
progressBar1.Value
=
0
;
button1.Enabled
=
false
;
button2.Enabled
=
true
;
//
实列化一个线程
t
=
new
Thread(
new
ThreadStart(doThread));
//
设置是否是后台执行的线程
t.IsBackground
=
true
;
//
开始执行这个线程
t.Start();
}
private
void
doThread()
{
//
更新UI委托
upUI upui
=
new
upUI(upDataUi);
try
{
while
(
true
)
{
Thread.Sleep(
0
);
//
开始更新UI
this
.Invoke(upui);
}
}
finally
{
Thread.Sleep(
5000
);
}
}
private
void
button2_Click(
object
sender, EventArgs e)
{
//
设置为终止状态
t.Abort();
//
阻塞这个线程
t.Join();
button1.Enabled
=
true
;
button2.Enabled
=
false
;
}
/**/
///
<summary>
///
执行UI更新的方法
///
</summary>
private
void
upDataUi()
{
if
(progressBar1.Value
!=
100000
)
{
progressBar1.Value
=
progressBar1.Value
+
10
;
label1.Text
=
progressBar1.Value.ToString();
}
else
{
t.Abort();
t.Join();
button1.Enabled
=
true
;
button2.Enabled
=
false
;
}
}
private
void
Form1_FormClosing(
object
sender, FormClosingEventArgs e)
{
t.Abort();
t.Join();
}
}
}
查看全文
相关阅读:
非模式窗体和模式窗体(转
一次性帮你解决毕业论文的所有排版问题
c# Wndproc的使用方法
ref和out 转
c# 基本语法(转)
U盘装/虚拟光驱 装双系统
U盘启动盘 装系统
Hibernate查询条件封装对象Expression介绍 Hi
asp.net实现 gridview 鼠标单击任意字段选中一行 ,并获取数据 Hi
C#如何取出非公共成员 Hi
原文地址:https://www.cnblogs.com/wubiyu/p/818810.html
最新文章
(转)Installshield 2010 预安装组件和软件
(转)InstallShield 2009制作集成.NET Framework 2.0 Service Pack 2的安装包
DataContractSerializer类的序列化反序列化规则
(转)C#中“Equals”与“==”的速度比较
(转)扩展方法详解
(转)C#中二进制运算在权限验证的应用
排序
使用简单的Ajax Framework -MagicAjax.NET
js操作listbox
Java类体中的this和super的用法
热门文章
java final,finally,finalize
refreshParent
java学习中重写与重载方法的区别(转自:小鸟的天空)
存储过程中事务的使用方法
关于ASP.NET页面打印技术的总结
java instanceof
sqlparameter
c# 集合(转)
C#中String类的几个方法(IndexOf、LastIndexOf、Substring) 转
什么是FTP
Copyright © 2011-2022 走看看