Доступ к главному циклу .net или событию, которое вызывается каждый кадр

Я сделал приложение с API, которое позволило мне создать свой собственный цикл событий. Я пытаюсь добиться того же эффекта с помощью форм .NET для преобразования этого приложения. В основном это выглядело так:

int main()
{
InitializeComponents();
While(!quitting()){
updateComponents();
renderComponents();
}
terminateComponents();
return 0;
}

Можно ли получить доступ к основному циклу формы?

Или есть событие, которое срабатывает каждый кадр? При этом я могу, например, рассчитать количество кадров в секунду. Это событие не должно вызываться формой, но, возможно, даже системой, так что вы даже можете использовать их со службами, приложениями и для Интернета.

Спасибо

0

Решение

Когда в вашей программе ничего не происходит, это ничего не делает, поэтому в простом приложении нет реальных кадров.

И вот почему есть Application.Idle событие. Это происходит каждый раз, когда приложение заканчивает делать то, что должно.

Что-то вроде того:

//somewhere in the initialization function:
Application.Idle += OnIdle;

void OnIdle(object sender, EventArgs e)
{
updateComponents();
renderComponents();
}

ПРИМЕЧАНИЕ: в соответствии с документация Вы должны отсоединить его когда-нибудь в будущем:

//finalization function
Application.Idle -= OnIdle;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]