使用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);
}
请澄清。
由于
阿尼尔
答案 0 :(得分:1)
没有机会更新平台的UI(即关闭消息框),因为您没有在messageBox.ShowAndWait(modalResult)之间将控制权返回给平台;和睡觉(10);.不幸的是,我找不到将控件返回到平台(至少从Tizen 2.2开始)的方法,例如.NET框架中的Application.DoEvents()。
通常,您应该在另一个线程中执行耗时的过程(例如sleep(10))。