Как закрыть форму windows forms

Form. Close Метод

Определение

Закрывает форму. Closes the form.

Исключения

Форма была закрыта при создании дескриптора. The form was closed while a handle was being created.

Нельзя вызывать этот метод из события Activated, если свойство WindowState задано как Maximized. You cannot call this method from the Activated event when WindowState is set to Maximized.

Комментарии

При закрытии формы все ресурсы, созданные в объекте, закрываются, и форма удаляется. When a form is closed, all resources created within the object are closed and the form is disposed. Можно предотвратить закрытие формы во время выполнения, обрабатывая Closing событие и установив Cancel свойство объекта, CancelEventArgs переданного в качестве параметра обработчику событий. You can prevent the closing of a form at run time by handling the Closing event and setting the Cancel property of the CancelEventArgs passed as a parameter to your event handler. Если закрываемая форма является начальной формой приложения, приложение завершается. If the form you are closing is the startup form of your application, your application ends.

Два условия, когда форма не удаляется Close , имеет значение, если (1) она является частью приложения с многодокументным интерфейсом (MDI), а форма не видна, и (2) форма была отображена с помощью ShowDialog . The two conditions when a form is not disposed on Close is when (1) it is part of a multiple-document interface (MDI) application, and the form is not visible; and (2) you have displayed the form using ShowDialog. В таких случаях необходимо вручную вызвать, Dispose чтобы пометить все элементы управления формы для сборки мусора. In these cases, you will need to call Dispose manually to mark all of the form’s controls for garbage collection.

Form. Closing Событие

Определение

Происходит при закрытии формы. Occurs when the form is closing.

Тип события

Примеры

В следующем примере используется Closing для проверки, изменился ли текст в TextBox . The following example uses Closing to test if the text in a TextBox has changed. Если это так, пользователю будет предложено сохранить изменения в файл. If it has, the user is asked whether to save the changes to a file.

Комментарии

ClosingСобытие является устаревшим, начиная с платформа .NET Framework 2,0; FormClosing вместо этого используйте событие. The Closing event is obsolete starting with the .NET Framework 2.0; use the FormClosing event instead.

Это Closing событие возникает при закрытии формы. The Closing event occurs as the form is being closed. Когда форма закрывается, освобождаются все ресурсы, созданные в объекте, и форма удаляется. When a form is closed, all resources created within the object are released and the form is disposed. Если отменить это событие, форма останется открытой. If you cancel this event, the form remains opened. Чтобы отменить закрытие формы, задайте для Cancel свойства объекта, CancelEventArgs переданного обработчику событий, значение true . To cancel the closure of a form, set the Cancel property of the CancelEventArgs passed to your event handler to true .

Читайте также:  Не устанавливается драйвер для принтера hp laserjet m1132 mfp для windows

Когда форма отображается как модальное диалоговое окно, нажатие кнопки Закрыть (кнопка с крестиком в правом верхнем углу формы) приводит к скрытию формы и свойству, для которого DialogResult устанавливается значение DialogResult.Cancel . When a form is displayed as a modal dialog box, clicking the Close button (the button with an X at the upper-right corner of the form) causes the form to be hidden and the DialogResult property to be set to DialogResult.Cancel . Можно переопределить значение, присваиваемое DialogResult свойству, когда пользователь нажимает кнопку Закрыть , задавая DialogResult свойство в обработчике событий для события в Closing форме. You can override the value assigned to the DialogResult property when the user clicks the Close button by setting the DialogResult property in an event handler for the Closing event of the form.

При Close вызове метода для, Form отображаемого в виде немодального окна, нельзя вызвать Show метод, чтобы сделать форму видимой, поскольку ресурсы формы уже были освобождены. When the Close method is called on a Form displayed as a modeless window, you cannot call the Show method to make the form visible, because the form’s resources have already been released. Чтобы скрыть форму и сделать ее видимой, используйте Control.Hide метод. To hide a form and then make it visible, use the Control.Hide method.

Form.ClosedСобытия и Form.Closing не вызываются при Application.Exit вызове метода для выхода из приложения. The Form.Closed and Form.Closing events are not raised when the Application.Exit method is called to exit your application. При наличии кода проверки в любом из этих событий, которые необходимо выполнить, следует вызывать Form.Close метод для каждой открытой формы по отдельности перед вызовом Exit метода. If you have validation code in either of these events that must be executed, you should call the Form.Close method for each open form individually before calling the Exit method.

Если форма является родительской MDI-формой, то Closing события всех дочерних форм MDI создаются до возникновения события родительской формы MDI Closing . If the form is an MDI parent form, the Closing events of all MDI child forms are raised before the MDI parent form’s Closing event is raised. Кроме того, Closed события всех дочерних форм MDI вызываются до того, как Closed будет вызвано событие родительской формы MDI. In addition, the Closed events of all MDI child forms are raised before the Closed event of the MDI parent form is raised. Отмена Closing события дочерней формы MDI не мешает Closing порождению события РОДИТЕЛЬСКОй MDI-формы. Canceling the Closing event of an MDI child form does not prevent the Closing event of the MDI parent form from being raised. Однако при отмене события будет задано true Cancel свойство объекта CancelEventArgs , которое передается в качестве параметра родительской форме. However, canceling the event will set to true the Cancel property of the CancelEventArgs that is passed as a parameter to the parent form. Чтобы принудительно закрыть все родительские и дочерние формы MDI, задайте Cancel для свойства значение false в родительской форме MDI. To force all MDI parent and child forms to close, set the Cancel property to false in the MDI parent form.

Читайте также:  Windows 10 сломалась при обновлении

Дополнительные сведения об обработке событий см. в разделе обработка и вызов событий. For more information about handling events, see Handling and Raising Events.

C# Как грамотно закрыть Form?

Здравствуйте, коллеги! Не думал, что будут проблемы с такими вот вещами, но тем не менее. Вот в чем суть проблемы. Разрабатываю программу, в которой из главной Form1, при нажатии на копку я открываю Form2.

Далее уже на Form2 я выполняю код, который заполняет таблицу на Form1, при этом я вывожу данные в таблицу, а затем мне нужно закрыть Form2 сразу.

Так вот в чем проблема: Form2 она то вроде закрывается, но по факту только скрывается. По долгу своей работы, мое приложение должно работать сутками в фоне и получается, что очередной раз пользователь открывает Form2, нажимает там на кнопку, таблица на Form1 заполняется, но Form2 не закрывается, а сворачивается. И так у меня плодятся окна Form1 и Form2 до бесконечности. Как можно это грамотно обыграть? P.s. Пробовал и Form2.ActiveForm.Close() и this.Close() ничего не помогает. Может логическая ошибка где? Помогите, пожалуйста!

3 ответа 3

Пример обработчика события по нажатию кнопки в Form2 с изменением свойств объектов формы Form1.

Пример более правильного вызова/создания дочерней формы.

Настоятельно рекомендую иметь ввиду контроль наличия (существования) окна, если вы используете окно без привязки к основному. Т.е. если дочерние окна можно убрать в фон или на задний план, то вы обязательно его потеряете.

Имена форм для Application.OpenForms[«AnyFormName»]; находятся в свойствах самих форм в переменной Name . Изменить (переопределять не стоит) можно в классе *.Designer.cs .

Если вам необходим доступ к методам формы, то необходимо создавать для них делегаты методов перед использованием.

Закрыть всё формы приложения

Закрытием второй формы закрыть все приложение
Всем доброго времени суток. Помогите пожалуйста, есть к примеру 2-е формы, как сделать так что бы.

Закрыть окно Приложения
Привет. дело в том что у меня есть два окна (форм1 и форм2). первое открываеться при запуске, в.

Закрыть форму, не закрывая приложения
Открываю новую форму спрятав старую — Form3 nForm = new Form3(); nForm.Show(); this.Hide(); Но.

Читайте также:  Как делать собственную сборку windows

Закрыть форму, не закрывая всего приложения
Приветствую вас! Появилась такая проблема: При клике на Меню создаю окно: private void.

Тематические курсы и обучение профессиям онлайн
Профессия‌ С#-разработчик‌ (Skillbox)
Архитектор ПО (Skillbox)
Профессия Тестировщик (Skillbox)

Вложения

WindowsFormsApplication.zip (47.0 Кб, 18 просмотров)

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Закрыть все работающие потоки при завершении работы приложения
В некоторых случах после закрытия приложения студия выдает следующую ошибку: Error 12 Unable to.

Закрыть все открытые формы, отчеты и прочее, кроме одной формы
Добрый день. Подскажите пожалуйста, какой надо написать код, чтобы при нажатии кнопки закрылись все.

По истечению времени закрыть все приложения
Можно ли сделать так? На форме есть TextBox и кнопка. В TextBox ввели цифру, А потом нажали на.

Закрыть все формы
Ребят как закрыть все формы в программе.. просто понимаю что идет ошибка из-за form1.Hide;

Как полностью закрыть приложение?

Если приложение запущено, то показать MessageBox и закрыть приложение
Доброго времени. Плохо разбираюсь в с# и прощу помощи написать кусочек кода. Мысль такая «Если.

Нужно скрыв главную форму, при закрытии второй, закрыть программу полностью
Как это сделать, помогите плиз. private void btNext_Click(object sender, EventArgs e) <.

закрыть приложение Word
как программно закрыть ворд приложение. Я с таким кодам закрываю, но закрывается толка документ.

это вы делаете в form2?

Добавлено через 13 секунд

Автор, я тебя понимаю. Ты запускаешь форму_1, потом открываешь форму_2 скрывая форму_1 и потом хочешь при закрытии формы_2 закрыть полностью программу, что бы она не висела процессах. В форме_2 подписываешься на событие FormClosed и вставляешь эту строку

значит остается какой-то поток , мы же с многопоточностью работаете в программе?

Добавлено через 1 минуту

Metall_Version, как можно заметить, в том посте ни слова о том, что это за форма и какая она — основная или же нет.

Добавлено через 7 минут

Тематические курсы и обучение профессиям онлайн
Профессия‌ С#-разработчик‌ (Skillbox)
Архитектор ПО (Skillbox)
Профессия Тестировщик (Skillbox)

А форма не имеет значения, этот метод при вызове из любой формы закрывает текущий контекст — приложение.
Я всегда делал как ты процитировал, все работало.

Догадка — как я уже писал какой поток остается работать, нужно смотреть весь код

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Закрыть приложение по таймеру
Доброго времени суток, уважаемые форумчане! Возникла проблема: как закрыть приложение (из дочерней.

Закрыть приложение через 5 секунд
Помогите пожалуйста, подскажите как с помощью таймера закрыть приложение автоматически через 5.

Создать приложение, которое нельзя закрыть
Здравствуйте! Пишу мелкое приложение, в котором устанавливается лимит времени использования ПК. По.

Закрытием второй формы закрыть все приложение
Всем доброго времени суток. Помогите пожалуйста, есть к примеру 2-е формы, как сделать так что бы.

Оцените статью