2014-02-18 4 views
-2

Что лучше работает при открытии новой формы и закрытии старого, form1.hide или form1.close?Form1.Hide vs Form1.Close

На обработчиком ButtonClick на Form1 я писал:

Form1.Hide; 
Form2.Show; 

А потом он застревает в сеансе отладки. (Только один раз случилось -_-)

Тогда, когда я использую

Form1.close; 
Form2.Show; 

Все формы близкие. В чем разница между ними? (Кроме .close фактически закрытие всего xD)

+0

'ExecuterHitmanDude' - это' строка'. Оператор 'and' работает на boolean и возвращает логическое значение. Что вы пытаетесь сделать с выражением 'ExecuterHitmanDude: = (Form1.Hide) и (Form2.show)? – lurker

+0

@mbratch Справа я не знаю, где мой разум, спасибо за это. –

+0

Какова цель сохранения возвращаемого значения 'Hide' с' ExecuterHitmanDude: = Form1.Hide'? Я считаю, что метод 'Hide' является' procedure', а не 'function', поэтому он не имеет возвращаемого значения. – lurker

ответ

4

Hide просто устанавливает видимое значение false.

Закрыть пожары OnCloseQuery и OnClose события. Если рассматриваемая форма является основной формой приложения, приложение прекратится. В зависимости от CloseAction форма либо Hide (CloseAction = caHide), Minimize (CloseAction = caMinimize) или волен сам (CloseAction = caFree)

Ваш второй вопрос остается неясным, как к тому, что вы пытаетесь достичь.

+0

Отредактированный вопрос. Например, создание ярлыка «ExecuterHitmanDude: = Form1.Hide; Form2.Show: «Что, возможно, возможно? Поэтому вместо того, чтобы говорить 'Form1.Hide; form2.show; 'вы можете просто сказать« ExecuterHitmanDude »? –

+0

Допустим, у меня есть кнопка, чтобы перейти к следующей форме, например, «Продолжить», затем я хочу кнопку «Назад». Поэтому для продолжения ButtonClick он закрывает/скрывает первую форму и открывает вторую, делая код похожим на Form1.Hide; form2.show; 'и вместо этого я могу просто набрать' Executerblah'. Это был просто вопрос любопытства, если это было возможно. Я кодер/программист нооб/новичок (как вы можете видеть). –

+1

Я думаю, вы описываете процедуру. Предлагаю вам ознакомиться с документацией и начать с нее. http://docwiki.embarcadero.com/RADStudio/XE5/en/Procedures_and_Functions –

Смежные вопросы