C#中怎么用线程实现把信息显示到窗体上,要一条一条的显示,谢谢各位了

 我来答
yutianyi1986
2011-03-08 · 超过21用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:45.7万
展开全部
你说的是不是在处理数据的时候显示处理的信息?
你可以用 backgroundWorker来做,这个控件里定义好了三个事件DoWork、ProgressChanged和RunWorkerCompleted,DoWork中可以写后台处理的代码并调用backgroundWorker.ReportProgress方法来报告信息,ProgressChanged中就可以根据报告的信息来显示进度和状态,RunWorkerCompleted中处理线程结束后腰处理的信息,记住要报告状态必须把WorkerReportsProgress属性设置为true
追问
恩是在处理数据时显示的信息,我想要的是处理一条后就显示这条处理的信息,处理下一条时在显示下一条处理信息。backgroundWorker没用过啊我是初学C#的不懂可以再详细点吗谢谢啦  还有我是把信息打印到界面中的ListBox上
追答
backgroundWorker在工具栏里有,直接拉到你的界面上,在VS下边会有个显示控件的条,你会看到它,然后设置它的属性,单击它的事件,就可以自动生成代码的框架了,至于详细些的信息我想我上边说的已经可以说明问题了,先要看代码示例的话可以去搜搜看。最好是自己多动动手这样学到的东西才不容易忘记
backgroundWorker1.RunWorkerAsync();//启动线程,你可以在里边放一个Objct型的参数传递给你的新线程

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
foreach(XX In XX) //或者是for也行,看你方便
{
backgroundWorker1.ReportProgress(0, "消息"); //第一个参数可以是你处理的进度
……//你用来处理的代码
}
}

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
listBox.Text += e.UserState.ToString()+"\r\n";
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
……// 处理完后你要干什么
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式