2015-07-22 72 views
0

我在C#初学者,我写这个代码启动新的线程:
如何在c#线程中设置可见值为真值?

Thread workerThread = new Thread(DoWork); 
workerThread.Priority = ThreadPriority.Highest; 
workerThread.Start(); 


在上行线过程中的一些东西,并显示到图表中,每一件事情是好的,但是当!运行并完成DoWork方法,图表控件可见设置为false自动,我DoWork方法是:

public void DoWork() 
{ 
    //.....some process and show into the process result into the chart 
    chart1.Visible = true;//this code not run 
} 


该如何解决呢?

+1

什么项目这是? Windows窗体,WPF,Asp.Net?请在此提供更多代码。你在哪里“开始新线程的代码”位于何处? – Fabjan

+0

Windows窗体,请原谅我忘记 –

+0

是'chart1' UI元素? –

回答

0

更改您的DoWork方法签名接受对象作为参数,并通过同步上下文给它:

void DoWork(object o) 
    {   
     SynchronizationContext cont = o as SynchronizationContext; 

     // your logic gere 
     cont.Post(delegate 
     { 
      // all your UI updates here 
     }, null); 
    } 

    Thread workerThread = new Thread(DoWork); 
    workerThread.Priority = ThreadPriority.Highest; 
    workerThread.Start(SynchronizationContext.Current); 
相关问题