副线程如何把异常信息传给主线程的textbox 如题我用了个全局变量可以解决这个问题但是我不知道线程间如何发送消息在这里请教各位朋友 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20080117/14/e967988a-295c-40c2-a571-4be0516b1e82.html public partial class Form1 : Form{ Thread progress; private void Form1_Load(object sender, EventArgs e) { progress = new Thread(new ThreadStart(Run)); } private void button1_Click(object sender, EventArgs e) { progress.Start(); } public void Run() { try { //...... } catch (Exception err) { //在这里如何让主线程的textbox显示err.Message } } } 有的全局变量解决不了的。SynchronizationContext.Current获取线程的同步对象,使用该对象的Post,可以向线程发送消息,要求该线程去执行某个委托 delegate void ShowErrorHandler(string text);void ShowError(string text){ if(textbox.InvokeRequired) { ShowErrorHandler seh = ShowError; this.Invoke(seh,new object[]{text}); }else{ textbox.Text = text; }} public void Run() { try { //...... } catch (Exception err) { //在这里如何让主线程的textbox显示err.Message ShowError(err.Message); } } 如何能让Windows Service有界面可以查看输出信息? 如何获取文件的目录 如何让焦点落到TreeNode上时,在在上边单击仍然引发After_Select DataViewRow.Cells[]取不出数据的问题? 如何使窗体半透明化, 窗体上的控件不透明? 怎样判断接收的输入是不是回车啊? c#打印小票 一个考试系统的小问题 求解 急...... picturebox画图问题 请问一下在C#中对一个路径的表示的问题. 为什么在线程里不能输出?? DataReader的问题.怎么样处理才可以!
public partial class Form1 : Form
{
Thread progress; private void Form1_Load(object sender, EventArgs e)
{
progress = new Thread(new ThreadStart(Run));
} private void button1_Click(object sender, EventArgs e)
{
progress.Start();
} public void Run()
{
try
{
//......
}
catch (Exception err)
{
//在这里如何让主线程的textbox显示err.Message
}
} }
SynchronizationContext.Current获取线程的同步对象,使用该对象的Post,可以向线程发送消息,要求该线程去执行某个委托
{
if(textbox.InvokeRequired)
{
ShowErrorHandler seh = ShowError;
this.Invoke(seh,new object[]{text});
}else{
textbox.Text = text;
}
}
{
try
{
//......
}
catch (Exception err)
{
//在这里如何让主线程的textbox显示err.Message
ShowError(err.Message);
}
}