首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

WinCe 中的异步处置

2012-08-14 
WinCe 中的异步处理!我在做WinCe开发时,想要将一个操作数据库的方法做成异步调用,可以显示一个进度条给用

WinCe 中的异步处理!
我在做WinCe开发时,想要将一个操作数据库的方法做成异步调用,可以显示一个进度条给用户,但是老是报错。
以下是我在winform中做的测试代码,运行没有问题,但是在Wince中,就报错。
   
  public delegate void DoThingDelegate();

  private void button1_Click(object sender, EventArgs e)
  {
  DoThingDelegate doThingDelegate = new DoThingDelegate(doThing);

  IAsyncResult ar = doThingDelegate.BeginInvoke(null, null);

  progressBar1.Visible = true;
   
  while (!ar.IsCompleted)
  {
  Thread.Sleep(100);
  progressBar1.Value = progressBar1.Value + 5;
  }

  progressBar1.Visible = false;

  MessageBox.Show("完成!");
  }

  private void doThing()
  {
  Thread.Sleep(2000);
  }

[解决办法]
什么错误?
progressBar1.Value = progressBar1.Value + 5;

修改为
progressBar1.Invoke((EventHandler)delegate{progressBar1.Value += 5;});

这样试试?

热点排行