Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Stif1304
1 / 1 / 1
Регистрация: 31.10.2014
Сообщений: 19
1

Как правильно завершить программу, имеющей несколько окон

31.10.2014, 03:04. Просмотров 1190. Ответов 14
Метки нет (Все метки)

C# Есть одна форма (основная, скажем так), на которой находится веб-браузер. После авторизации, данная форма закрывается (this.Hide() ) и открывается другая. Если закрыть вторую форму, то программа не завершается, и процесс остается. Как исправить?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2014, 03:04
Ответы с готовыми решениями:

Как правильно завершить многопоточное приложение
Я пишу многопоточное приложение. После нажатия кнопку на закрытия главного окна (красный крестик)...

Как правильно завершить работу Task?
Создал такой класс: В методе StartWork() находится такой код: public async void...

Как правильно передать несколько данных в программу из функции?
В функции outArray формирую массив, а затем адрес первого элемента массива вместе с количеством...

Поскажите как правильно повторять программу несколько раз
Вот я состряпал небольшой бред недоучки...и никак не могу сделать правильное повторение данных...

Правильно ли я оптимизировал программу отслеживания окон?
В общем, написал программу, которая при появлении в системе заданного окна (в моём случае сообщения...

14
ViterAlex
7158 / 3930 / 1577
Регистрация: 11.02.2013
Сообщений: 8,479
Завершенные тесты: 3
31.10.2014, 03:16 2
Цитата Сообщение от Stif1304 Посмотреть сообщение
данная форма закрывается (this.Hide() )
Ты её не закрываешь, а прячешь. Чтобы закрыть, нужно использовать this.Close()
0
NekoKira
62 / 49 / 37
Регистрация: 08.07.2012
Сообщений: 181
31.10.2014, 05:39 3
Лучший ответ Сообщение было отмечено Stif1304 как решение

Решение

На событие закрытие второй формы, нужно написать:
C#
1
Application.Exit()
1
Stif1304
1 / 1 / 1
Регистрация: 31.10.2014
Сообщений: 19
31.10.2014, 09:37  [ТС] 4
да, но тогда и программа завершается при закрытии первой формы
0
NekoKira
62 / 49 / 37
Регистрация: 08.07.2012
Сообщений: 181
31.10.2014, 13:19 5
Лучший ответ Сообщение было отмечено Stif1304 как решение

Решение

Первую форму прячьте, как Вы это делали, а на событие закрытие второй формы, нужно написать
C#
1
Application.Exit()
1
ivan r
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
31.10.2014, 17:40 6
Цитата Сообщение от NekoKira Посмотреть сообщение
Application.Exit()
или проше
C#
1
this.Close();
0
Metall_Version
2129 / 1266 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
Завершенные тесты: 2
31.10.2014, 17:55 7
Цитата Сообщение от ivan r Посмотреть сообщение
или проше
это только закроет второе окно, а первое и будет в процессах захайденое висеть...
0
ivan r
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
31.10.2014, 17:59 8
Metall_Version, ответ дал ViterAlex. Я знаю что Hide скрывает.
0
Metall_Version
2129 / 1266 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
Завершенные тесты: 2
31.10.2014, 18:01 9
ivan r, ViterAlex не дал ответ..
ты походу не понял сути вопроса , прочти топик опять
0
ivan r
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
31.10.2014, 18:15 10
Metall_Version, Ты её не закрываешь, а прячешь. Чтобы закрыть, нужно использовать this.Close()
Он запускает форму2 и форма1 закрывается
0
Metall_Version
2129 / 1266 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
Завершенные тесты: 2
31.10.2014, 18:59 11
Цитата Сообщение от ivan r Посмотреть сообщение
Он запускает форму2 и форма1 закрывается
как со стеной

ему со второй формы нужно закрыть приложение . если исопльзовать Close во второй форме то закроется только вторая форма, а первая так и будет находится в хайде..
чтобы закрыть приложение нужно юзать Application.Exit()..

Он запускает форму2 и форма1 закрывается
когда он запускает вторую форму первую можно только спрятать(без манипуляции с контекстом) , первая никак не закрывается при открытии второй...

я надеюсь так понятней
0
ivan r
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
31.10.2014, 19:02 12
Metall_Version, я пробовал при вызове второй формы закрыть первую, закрывается вторая... Ему нужно прописать в событие Closing у второй формы Application.Exit() для первой формы.
0
Metall_Version
2129 / 1266 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
Завершенные тесты: 2
31.10.2014, 19:10 13
Цитата Сообщение от ivan r Посмотреть сообщение
я пробовал при вызове второй формы закрыть первую, закрывается вторая... Ему нужно прописать в событие Closing у второй формы Application.Exit() для первой формы.
ну наконецто.
так ему это кагбы и посоветовали.. https://www.cyberforum.ru/post6791647.html
0
ivan r
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
31.10.2014, 19:17 14
Metall_Version, Поможешь с логикой программы в лс? А то я запутался...
0
Metall_Version
31.10.2014, 19:36     Как правильно завершить программу, имеющей несколько окон
  #15

Не по теме:

ivan r, пиши

0
31.10.2014, 19:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2014, 19:36
Привет! Вот еще темы с ответами:

Как правильно завершить приложение?
Close(); //или Application->Terminate(); как правильно?

Как правильно завершить поток
Всем привет. Что я делаю не так ? Поток запускается и работает хорошо, но вот при завершении...

Как правильно завершить Coroutine?
У меня возник вопрос, как сделать так, чтобы корутин правильно завершал свои действия? У меня он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.