Как запустить две формы в C ++ Builder

Приятно поделиться с вами некоторой информацией.

Извините, кто-нибудь знает, как запустить две ФОРМЫ одновременно?

Я имею в виду, что я выполняю FOR, нажимая одну КНОПКУ на FORM1 и устанавливаю значения FOR на LABEL на FORM2.

Вот некоторые коды в FORM1:

void __fastcall Form1::Button1Click(TObject *Sender){
int i = 0;
for (i=0;i<=10000;i++){
Form1->Label1->Caption = i;
Form2->Label1->Caption = i;
}
}

Я просто хочу увидеть это:

если…. Form1->Label1->Caption = 1, Form2->Label1->Caption должно быть тоже 1 и так далее.
FORM2 показывает мне только последний результат, который составляет 10000.

Я ценю любую помощь.
Спасибо !

1

Решение

Просто позвони Update(): (*)

void __fastcall Form1::Button1Click(TObject *Sender)
{
for(int i = 0; i <= 10000; ++i)
{
Form1->Label1->Caption = i;
Form2->Label1->Caption = i;

Form1->Label1->Update();
Form2->Label1->Update();
}
}

Обновить():

Обрабатывает любые ожидающие сообщения краски немедленно.

Вызовите Update, чтобы принудительно перекрасить элемент управления, возможно, это займет больше времени,
обработка происходит. Используйте Обновление, чтобы предоставить немедленную обратную связь пользователю, который не может ждать
чтобы появилось сообщение о рисовании Windows.

Обновление не делает недействительным элемент управления, а просто вызывает перерисовку любых регионов, которые имеют
уже признан недействительным

APPLICATION-> ProcessMessages () также будет работать, но это неправильный выбор: он прерывает выполнение приложения, так что он может обрабатывать очередь сообщений. ProcessMessages может быть намного медленнее.

(*) Изменено с Remyнамек был абсолютно лучше оригинального ответа (Update против ProcessMessages)

2

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


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