某个算法计算时间太长,造成UI假死
wpf吧
全部回复
仅看楼主
level 1
俺是阿柯 楼主
请问一下:现在遇到一个问题,首先从一个excel表里面导入数据到一个DataGrid中,数据有10000多行,然后点击“下一步”跳转到另外一个界面,点击“计算”,然后数据太多,就造成假死的状态,请问一下大家该怎么解决这个问题呢,有的说加进度条,但是进度条的值该根据什么来设置呢
2015年01月23日 08点01分 1
level 5
用多线程。把计算过程交给子线程。可以给子线程传入一个用于修改进度条的委托。
2015年01月23日 10点01分 2
level 10
using System.Threading.Tasks;
public class LongTimeWorker
{
  public Task Work()
  {
    return Task.Factory.StartNew(() =>
    {
      // your code here
    });
  }
}
public class MainWindow
{
  private async void Button1_Click(object sender, EventArgs e)
  {
    LongTimeWorker ltw = new LongTimeWorker();
    await ltw.Work();// 代码会停顿在这里,等待Work执行结束,但不会阻塞UI
  }
}
2015年01月28日 04点01分 3
1