//定义回调
private delegate void setTextValueCallBack(int value);
//声明回调
private setTextValueCallBack setCallBack;
private void button1_Click(object sender, EventArgs e)
{
try
{
//实例化回调
setCallBack = new setTextValueCallBack(SetValue);
//创建一个线程去执行这个方法
Thread thread = new Thread(new ThreadStart(Test));
thread.Start();
}
catch (Exception ex)
{
throw ex;
}
}
private void Test()
{
try
{
for (int i = 0; i < 10000; i++)
{
//使用回调
textBox1.Invoke(setCallBack, i);
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 定义回调使用的方法
/// </summary>
/// <param name="value"></param>
private void SetValue(int value)
{
try
{
textBox1.Text = value.ToString();
}
catch (Exception ex)
{
throw ex;
}
}
博客展示了多线程回调与Invoke的使用。定义并声明回调,在按钮点击事件中实例化回调,创建线程执行方法。在方法里使用回调,通过Invoke调用定义的回调方法,将值显示在文本框中,还包含异常处理。
2810

被折叠的 条评论
为什么被折叠?



