Форум: "Основная";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
ВнизПомогите с двумя формами Найти похожие ветки
← →
Dr.Pipe (2002-05-18 20:22) [0]У меня имеются две формы. Form1 и Form2. Visible у обеих true.
При клике на кнопку на первой форме, открывается вторая, а первая прячется (Show, Hide). точно также и во второй (только прячется теперь вторая). Form1 - главная.
Мне нужно такое:
Form1.
if label1.caption="2" then
begin
Form2.SHow;
Form1.hide;
end;
if label1.caption="1" then
begin
Form1.Show;
Form2.Hide;
end;
Это у меня идёт по таймеру.
Label1.Caption у меня = "2" и при запуске программы должна скрыться первая форма и выскочить вторая. Но вся проблема в том, что сначала мелькает первая, а уже потом показывается вторая. Так вот, как это мелькание избежать?
← →
Anatoly Podgoretsky (2002-05-18 21:31) [1]А как же иначе, последней у тебя показывается форма 1, перед этим она прячется, кратковременно показывается 2
Секрет успеха в операторе ELSE
← →
copyr25 (2002-05-18 21:36) [2]Программист сидит в кафешке. К нему подходит официантка и доверительно
говорит, - если хочешь хорошо провести время, то меня зовут Машей.
-- А если не хочу, то как тебя зовут?
(жизненный пример if .. then .. else:))
← →
Dr.Pipe (2002-05-18 21:37) [3]2Anatoly Podgoretsky
>>А как же иначе, последней у тебя показывается форма 1, перед >>этим она прячется, кратковременно показывается 2
Да я ставил поначалу Form1.Hide а затем Form2.Show, но всё-равно не получается. Что такое не пойму!
← →
Dr.Pipe (2002-05-18 21:40) [4]И вобще, ведь первая - главная. Она создаётся первой. Я уже её и Visible:=False ставил до загрузки - всё равно не помогает.
← →
Song (2002-05-18 21:59) [5]Чтобы скрыть главную форму используют TApplication.ShowMainForm
← →
Dr.Pipe (2002-05-19 11:36) [6]Писал так:
if form1.label1.caption="1" then
begin
Form2.hide;
Form1.Show;
end
else
begin
Form1.hide;
Form2.Show;
end;
Всё равно, пока выскочит вторая, мигает первая. Т.е. показывается первая и через пол-секунды она прячется и высвечивается вторая. Вот как сделать, чтобы первая в начале проверки не показывалась?
← →
}{enon (2002-05-19 12:39) [7]Не совсем понял вопрос, но попробуй один из двух вариантов:
1)При необходимости ставь размер формы 0*0 (может быть долго)
2)Не используя if..then..else, пиши так:
Procedure TForm1.Button1Click (Sender: TObject);
begin
Form1.Hide;
Form2.Show;
end;
Procedure TForm2.Button1Click (Sender: TObject);
begin
Form2.Hide;
Form1.Show;
end;
P.S. Может не подойти - тогда пиши!
← →
Dr.Pipe (2002-05-19 14:13) [8]2}{enon
У меня процедура идёт при запуске программы по тамеру. Так что кнопки отпадают.
← →
Dr.Pipe (2002-05-19 15:29) [9]Ну поможет кто?
← →
VID (2002-05-19 21:52) [10]procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowMainForm :=false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Label1.Caption = "2" then
begin
label1.caption := "1";
form1.Hide ;
form2.Show;
end
else
begin
label1.caption := "2";
form1.Show;
form2.Hide ;
end;
end;
← →
VID (2002-05-19 21:55) [11]В свойстве Timer1.Enabled в Design-time не забудь указать TRUE, или можешь на событии onCreate объекта FORM1 написать Timer1.Enabled := true;
← →
Dr.Pipe (2002-05-20 16:36) [12]2VID
Thanks
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c