sleep()与MessageBox行为不端

时间:2013-11-29 10:02:14

标签: tizen

使用Button创建了一个Ui应用程序。单击OnFctionPerformed()的MainForm按钮,创建并启动一个延迟3秒的MessageBox。不久之后,我一直睡了大约10秒钟。 MessageBox仅在13秒后消失,即3 + 10(MessageBox等待秒+睡眠秒数)

代码段:

{
    MessageBox messageBox;
    messageBox.Construct(L"MessageBox Title", L"MessageBox Sample Code.", MSGBOX_STYLE_OK, 3000);

    int modalResult = 0;

    messageBox.ShowAndWait(modalResult);

    sleep(10);
}

请澄清。

由于

阿尼尔

1 个答案:

答案 0 :(得分:1)

没有机会更新平台的UI(即关闭消息框),因为您没有在messageBox.ShowAndWait(modalResult)之间将控制权返回给平台;和睡觉(10);.不幸的是,我找不到将控件返回到平台(至少从Tizen 2.2开始)的方法,例如.NET框架中的Application.DoEvents()。

通常,您应该在另一个线程中执行耗时的过程(例如sleep(10))。