Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.30;
Скачать: CL | DM;

Вниз

Помогите с двумя формами   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
8-97352
.: Joiro :.
2001-12-27 15:32
2002.05.30
Вопрос как раз в этотновый форум. :)


1-97270
ao1973
2002-05-18 14:44
2002.05.30
Вопрос вроде бы простой Как точно узнать уничтожена ли форма


1-97228
Ismail
2002-05-17 12:36
2002.05.30
Принудительно закрыть проиложение


3-97192
sergrrey
2002-05-02 12:34
2002.05.30
Как уменьшить объем используемой оперативки?


1-97320
Musicmax
2002-05-19 19:00
2002.05.30
товаришчи! Подсажите как избежать ошибки ....