2013-11-29 4 views
0

Создал приложение Ui с кнопкой. При нажатии кнопки с помощью OnActionPerformed() из MainForm создается и запускается MessageBox с задержкой в ​​3 секунды. Вскоре после этого я спал около 10 секунд. MessageBox исчезает только после 13 секунд, то есть 3 + 10 (MessageBox ожидание секунд + сон секунды)sleep() misbehaves with 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

Номера, которые вы упомянули в своем описании, похоже, не соответствуют коду. – Michael

+0

Спасибо за ваши замечания Майкл. Я обновил код. – rakar

ответ

1

Там нет шансов для обновления пользовательского интерфейса (т.е. закрытия окна сообщения) для платформы, потому что вы не возвращаете управление на платформу между messageBox.ShowAndWait (ModalResult); и сон (10) ;. И, к сожалению, я не смог найти способ вернуть элемент управления платформе (по крайней мере, с Tizen 2.2), например Application.DoEvents() в платформе .NET.

Как правило, вам необходимо выполнить много времени (например, sleep (10)) в другом потоке.