日期:2014-05-17  浏览次数:20728 次

Wince6.0下 代码过程中,修改label的text的值
在wince6下 有一个窗口,窗口里有label 这个是用来描述软件工作过程的,

我在代码中这么写的,

private void button3_Click(object sender, EventArgs e)
{
this.label5.Text = "正在连接数据库...";
  if (File.Exists(Properties.Resources.dbname))//数据库存在
  {
    this.label5.text=“正在更新部门表。。。”
        ..........(省略更新代码)
     this.label5.text=“正在更新用户表。。。”
       ..........(省略更新代码)
    this.label5.text=“更新成功。。。”
  }
}
在执行的过程中,label的text不变化,总是在执行完所有代码,才显示“更新成功”,其他都不显示。
怎么样才能按顺序显示 比如最开始显示 
"正在连接数据库..."
然后 显示“正在更新部门表”这样的,否则一点按钮,啥提示没有,等有提示了,就更新完毕了。
WinCE label

------解决方案--------------------
你单步调试下,this.label5.text=“正在更新部门表。。。”肯定是走到的,但是没有显示,说明代码上还是有问题的,楼主每次     ..........(省略更新代码)这边是执行完后全部还是只有sql代码最后执行数据库操作的?
------解决方案--------------------
引用:
引用:你单步调试下,this.label5.text=“正在更新部门表。。。”肯定是走到的,但是没有显示,说明代码上还是有问题的,楼主每次     ..........(省略更新代码)这边是执行完后全部还是只有sql代码最后执行数据库操作的?

我试了一下,在每个this.label5.text=''后面加上messageb……
要是我没猜错的话,还是太快了没有执行。

有两个办法,第一,加个timer,设置每个显示固定时间,第二,写个自定义控件,将所有需要的信息写在不同label中,然后垂直叠加放在一个地方,根据执行的代码不同,控制每个label的显示/隐藏状态。

推荐用第二种方式
------解决方案--------------------
this.label5.Update()
应该就可以,你试试。