Loading...
joax1 avatar joax1 0 Точки

[Technical Issue] Windows Forms - затваряне и отваряне на форма

Здравейте и за много години ! icon_smile.gif Опитвам се да разреша един проблем, а именно: как да затворя предишната форма след отваряне на друга форма в Windows Forms. Идеята е: имам логин вход(форма) и след като кликна на бутона за логин - ме препраща към друга форма. Искам да затворя формата за логин. В нета има доста мнения, но така и не открих работещо...

Ще Ви бъда благодарен ако съдействате!! icon_lol.gif

Тагове:
0
Programming Basics 13/01/2015 19:14:25
RoYaL avatar RoYaL Trainer 6849 Точки

Викаш Hide() на предишната форма?

1
v.indzhev avatar v.indzhev 37 Точки

Не работи ли с this.Close() на формата, която искат да затвориш?

0
RoYaL avatar RoYaL Trainer 6849 Точки

Според мен флоу-ът трябва да е - скрива се формата, която искаш да затвориш -> отваря се новата -> чак тогава се вика Close() на 1вата. Иначе ще си затвориш апп-а?

0
v.indzhev avatar v.indzhev 37 Точки

Да. И като се замисля с Hide() може и да е по - уместно. Тоест да е нещо като това:

 

this.Hide();

Form newWindow = new Form();

newWindow.Show() //Или ShowDialog() не съм сигурен кое беше

 

 

0
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Аз ползвам ShowDialog(), защото със Show() в даден момент ми се dispose-ва формата и фърчи грешка, някой ако може да обясни на какво точно се дължи... Иначе разликата е, че първото те предпазва от това да кликнеш в/у parent form-ата.

0
AleksandurSeferinkin avatar AleksandurSeferinkin 333 Точки

Ползваме Application.Run(), за да започнем message loop-а в/у дадена форма! Приложението автоматично паузира изпълнението на main thread, докато формата не бъде затворена. Като ползваме this.Close() на дадена форма, message loop-а прекъсва и главната нишка продължава след Application.Run(). Можем да навързваме много отварящи и затварящи се форми. Според мен е най-уместно да не се влагат, а да бъдат отделни.

Пример за отваряне на форми. След туй слагаш this.Close() на формата, която искаш да затвориш, където си пожелаеш. Моментално ще се отвори следващата подред. :)

0
14/01/2015 11:08:14
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.