c#如何跨线程调用窗体控件
来源:互联网 发布:矩阵分解应用 编辑:程序博客网 时间:2024/05/22 04:59
public
partial
class
Form1 : Form
{
public
Form1()
{
InitializeComponent();
//方法1:不进行跨线程安全检查
//System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
}
private
void
button1_Click(
object
sender, EventArgs e)
{
Thread th1 =
new
Thread(
new
ThreadStart(CalNum));
th1.Start();
}
private
void
CalNum()
{
//button1.Enabled = false;
int
result = 0;
for
(
int
i = 1; i < 100000000; i++)
{
result += i;
}
SetCalResult(result);
//button1.Enabled = true;
}
//方法2:检查是否跨线程,然后将方法加入委托,调用委托
public
delegate
void
SetTextHandler(
int
result);
private
void
SetCalResult(
int
result)
{
if
(label2.InvokeRequired ==
true
)
{
SetTextHandler
set
=
new
SetTextHandler(SetCalResult);
//委托的方法参数应和SetCalResult一致
label2.Invoke(
set
,
new
object
[] { result });
//此方法第二参数用于传入方法,代替形参result
}
else
{
label2.Text = result.ToString();
}
}
}
1 0
- c#如何跨线程调用窗体控件
- c#如何跨线程调用窗体控件
- c#中如何跨线程调用windows窗体控件?
- c#中如何跨线程调用windows窗体控件?
- c#中如何跨线程调用windows窗体控件
- c#中如何跨线程调用windows窗体控件?
- c#中如何跨线程调用windows窗体控件
- c#中如何跨线程调用windows窗体控件?
- c#中如何跨线程调用windows窗体控件?
- C#跨线程调用窗体控件
- C#跨线程调用窗体控件
- C#跨线程调用窗体控件
- C# 跨线程调用窗体控件
- 如何跨线程调用Windows窗体控件
- 如何跨线程调用Windows窗体控件
- c#如何跨越线程调用窗体上的控件 GOOD
- c#如何对 Windows 窗体控件进行线程安全调用
- c#如何跨越线程调用窗体上的控件(转)
- HTTP网络超时
- oracle 学习路径
- 杭电题目分类
- 【转】WIN32编程中的HRESULT类型和LRESULT类型的区别
- NSUndoManager --- 公共的事件撤销管理者
- c#如何跨线程调用窗体控件
- Tomcat的配置最大并发连接数
- blocker critical Java (转)
- UISlider 使用
- JS 窗口滚动条理解
- 实验室CentOS7服务器搭建
- UGUI学习的第二天
- eclipse+maven+jetty发布hello world!Web应用
- xutils 2.x(2.6)中的session获得和cookieStore使用