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

Как закрыть форму? C# Решение и ответ на вопрос 2041311

Kotyara0live

33 / 27 / 27

Регистрация: 23.02.2016

Сообщений: 366

1

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

18.09.2017, 17:10. Показов 63384. Ответов 12

Метки нет (Все метки)


Привет, вот немного освоил основы и перешел к forms , может кто подсказать как сделать так что бы после успешной операции пропадали/закрывались и вызывали новые forms
вот код

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
      //поверяем правильный ли пароль или нет 
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "login" && textBox2.Text == "23")
                MessageBox.Show("God");
 // если все ок , то кнопка проверить , ввода пароля и логина должна пропасть 
            else
                MessageBox.Show("Bed");
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
 
        }

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

18.09.2017, 17:10

Ответы с готовыми решениями:

Закрыть 2 форму при этом не закрыть весь проект
Нужна помощь!!! как сделать так что бы в 1 форме выходила 2 а после,2 форма закрывалась при нажатии…

Как закрыть форму?
Я создал форму на ней расположил кнопку,потом добавил еще одну форму и при нажатии на кнопку,я…

Как закрыть форму
Здравствуйте.
Нужно создать несколько форм. Одна из форм есть навигационная на другие формы.
То…

Как закрыть форму
Добрый день,скажите пожалуйста.
Как организовать закрытие формы по нажатию кнопки button1.?
Есть…

12

student203

4 / 4 / 3

Регистрация: 25.03.2017

Сообщений: 180

Записей в блоге: 2

18.09.2017, 17:58

2

C#
1
Application.Exit();

закрывает программу …

C#
1
this.Close();

закрывает окно

C#
1
2
Form1 form = new Form2();
form.Show();

присваевает и открывает новое окно
чтобы создать новое окно , надо зайти в обозреватель решений , тыкнуть правой кнопкой мышки на название программы и выбрать пункт добавить -> форма windows..
вроде объяснил



2



33 / 27 / 27

Регистрация: 23.02.2016

Сообщений: 366

18.09.2017, 18:19

 [ТС]

3

Цитата
Сообщение от student203
Посмотреть сообщение

вроде объяснил

да вроде даже что то понял :Р
а вот по дизайну нужно все заново настраивать ?)



0



4 / 4 / 3

Регистрация: 25.03.2017

Сообщений: 180

Записей в блоге: 2

18.09.2017, 18:22

4

да нет) просто создаешь второе окно , оно не портит дизайн первого ..



0



Kotyara0live

33 / 27 / 27

Регистрация: 23.02.2016

Сообщений: 366

18.09.2017, 18:30

 [ТС]

5

Цитата
Сообщение от student203
Посмотреть сообщение

C#
1
2
Form1 form = new Form2();
form.Show();

что то не работает



0



student203

4 / 4 / 3

Регистрация: 25.03.2017

Сообщений: 180

Записей в блоге: 2

18.09.2017, 18:34

6

C#
1
2
  Form form = new Form2(); //form-название //Form2-название формы которую ты создал
            form.Show();//открыть окно с название form

Миниатюры

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



0



33 / 27 / 27

Регистрация: 23.02.2016

Сообщений: 366

18.09.2017, 18:47

 [ТС]

7

разобрался
еще 1 вопрос хочу закрыть окно с логином и паролем ,а оно закрывает 2 окна (то что создал)

Цитата
Сообщение от student203
Посмотреть сообщение

this.Close();



0



student203

4 / 4 / 3

Регистрация: 25.03.2017

Сообщений: 180

Записей в блоге: 2

18.09.2017, 19:42

8

C#
1
2
   form.ShowDialog();
            this.Close();

вот так



0



Kotyara0live

33 / 27 / 27

Регистрация: 23.02.2016

Сообщений: 366

18.09.2017, 21:09

 [ТС]

9

Цитата
Сообщение от student203
Посмотреть сообщение

C#
1
2
form.ShowDialog();
this.Close();

неа



0



4 / 4 / 3

Регистрация: 25.03.2017

Сообщений: 180

Записей в блоге: 2

18.09.2017, 23:04

10

у меня все работает … странно , скинь свой код



0



Kotyara0live

33 / 27 / 27

Регистрация: 23.02.2016

Сообщений: 366

19.09.2017, 11:32

 [ТС]

11

Цитата
Сообщение от student203
Посмотреть сообщение

у меня все работает … странно , скинь свой код

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
namespace FReg
{
 
    public partial class Form1 : Form
    {
        Form form = new Form2();
        public Form1()
        {
            
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
            form.Show();
            
 
        }
    }
}



0



Даценд

Эксперт .NET

5858 / 4735 / 2940

Регистрация: 20.04.2015

Сообщений: 8,361

19.09.2017, 12:22

12

Kotyara0live,
здесь this.Close(); закрывает главную форму, что приводит к закрытию приложения целиком.
Попробуйте так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public partial class Form1 : Form
{
 
    public Form1()
    {
        InitializeComponent();
    }
 
    private void Form1_Load(object sender, EventArgs e)
    {
        Form2 form2 = new Form2(); //создаем объект класса 2-й формы (авторизация, например)
        if (form2.ShowDialog() != DialogResult.OK) //отображаем и ждем результата. Если результат не OK, то закрываем приложение иначе видим главную форму
            this.Close();
    }
}

2-я форма должна вернуть DialogResult.OK, если правильно введен пароль.



1



33 / 27 / 27

Регистрация: 23.02.2016

Сообщений: 366

19.09.2017, 14:10

 [ТС]

13

Цитата
Сообщение от Даценд
Посмотреть сообщение

2-я форма должна вернуть DialogResult.OK, если правильно введен пароль.

все работает )
я правильно понял что form1 всегда главное окно ?
не по теме но все-же .. в инете мало понятной инфы по Form может есть какой то ресурс , задавать всегда вопросы тоже не вариант



0



You need the actual instance of the WindowSettings that’s open, not a new one.

Currently, you are creating a new instance of WindowSettings and calling Close on that. That doesn’t do anything because that new instance never has been shown.

Instead, when showing DialogSettingsCancel set the current instance of WindowSettings as the parent.

Something like this:

In WindowSettings:

private void showDialogSettings_Click(object sender, EventArgs e)
{
    var dialogSettingsCancel = new DialogSettingsCancel();
    dialogSettingsCancel.OwningWindowSettings = this;
    dialogSettingsCancel.Show();
}

In DialogSettingsCancel:

public WindowSettings OwningWindowSettings { get; set; }

private void button1_Click(object sender, EventArgs e)
{
    this.Close();
    if(OwningWindowSettings != null)
        OwningWindowSettings.Close();
}

This approach takes into account, that a DialogSettingsCancel could potentially be opened without a WindowsSettings as parent.

If the two are always connected, you should instead use a constructor parameter:

In WindowSettings:

private void showDialogSettings_Click(object sender, EventArgs e)
{
    var dialogSettingsCancel = new DialogSettingsCancel(this);
    dialogSettingsCancel.Show();
}

In DialogSettingsCancel:

WindowSettings _owningWindowSettings;

public DialogSettingsCancel(WindowSettings owningWindowSettings)
{
    if(owningWindowSettings == null)
        throw new ArgumentNullException("owningWindowSettings");

    _owningWindowSettings = owningWindowSettings;
}

private void button1_Click(object sender, EventArgs e)
{
    this.Close();
    _owningWindowSettings.Close();
}

Стандартные способы:

  • кликнуть в правом верхнем углу красную кнопку «крестик»
  • комбинация клавиш Alt+F4
  • кликнуть правой кнопкой мыши в верхнем левом углу, выбрать из контекстного меню «Закрыть»

Не стандартные способы:

  • с помощью красной кнопки «крестик» с использованием окна сообщения
  • через созданную кнопку
  • через созданную кнопку с использованием окна сообщения

с помощью красной кнопки «крестик» с использованием окна сообщения

Пользователь пытается закрыть программу стандартным способом, кликает на верхнюю правую кнопку «крестик», нажимает комбинацию клавиш Alt+F4 или в левом верхнем углу вызывает контекстное меню формы. Но программа сразу не закрывается, а появляется окно сообщения, в котором нужно подтвердить решение закрытия.
Событие FormClosingEventArgs принимает параметр «е». Этот параметр имеет свойство Cancel. Если установить его в false, форма закроется, если в true — останется открытой.

Скрыть

Показать

Копировать

  Form1.cs  

  • using System;
  • using System.Collections.Generic;
  • using System.ComponentModel;
  • using System.Data;
  • using System.Drawing;
  • using System.Linq;
  • using System.Text;
  • using System.Threading.Tasks;
  • using System.Windows.Forms;
  •  
  • namespace _0006 {
  •  public partial class Form1 : Form {
  •   public Form1() {
  •    InitializeComponent();
  •   }
  •  
  •   private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
  •    DialogResult dialog = MessageBox.Show(
  •     "Вы действительно хотите выйти из программы?",
  •     "Завершение программы",
  •     MessageBoxButtons.YesNo,
  •     MessageBoxIcon.Warning
  •    );
  •    if(dialog == DialogResult.Yes) {
  •     e.Cancel = false;
  •    }
  •    else {
  •     e.Cancel = true;
  •    }
  •   }
  •  }
  • }

через созданную кнопку

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

Скрыть

Показать

Копировать

  Form1.cs  

  • using System;
  • using System.Collections.Generic;
  • using System.ComponentModel;
  • using System.Data;
  • using System.Drawing;
  • using System.Linq;
  • using System.Text;
  • using System.Threading.Tasks;
  • using System.Windows.Forms;
  •  
  • namespace _0007 {
  •  public partial class Form1 : Form {
  •   public Form1() {
  •    InitializeComponent();
  •   }
  •  
  •   private void button1_Click(object sender, EventArgs e) {
  •    this.Close();
  •    
  •   }
  •  }
  • }

через созданную кнопку с использованием окна сообщения

В этом примере мы добавим кнопку на форму, которая будет закрывать приложение. Но при нажатии на кнопку будет вызвано окно сообщений.

Скрыть

Показать

Копировать

  Form1.cs  

  • using System;
  • using System.Collections.Generic;
  • using System.ComponentModel;
  • using System.Data;
  • using System.Drawing;
  • using System.Linq;
  • using System.Text;
  • using System.Threading.Tasks;
  • using System.Windows.Forms;
  •  
  • namespace _0008 {
  •  public partial class Form1 : Form {
  •   public Form1() {
  •    InitializeComponent();
  •   }
  •  
  •   private void button1_Click(object sender, EventArgs e) {
  •    DialogResult dialog = MessageBox.Show(
  •     "Вы действительно хотите выйти из программы?",
  •     "Завершение программы",
  •     MessageBoxButtons.YesNo,
  •     MessageBoxIcon.Warning
  •    );
  •    if(dialog == DialogResult.Yes) {
  •     this.Close();
  •     
  •    }
  •   }
  •  }
  • }

  1. HowTo
  2. C# Howtos
  3. Close Form in C#
  1. Close Form With the Application.Exit() Function in C#
  2. Close Form With the Form.Close() Function in C#

Close Form in C#

This tutorial will introduce the methods to close a form in C#.

Close Form With the Application.Exit() Function in C#

The Application.Exit() function is used to close the entire application in C#. The Application.Exit() function informs all message loops to terminate execution and closes the application after all the message loops have terminated. We can also use the Application.Exit() function to close a form in a Windows Form application if our application only consists of one form. See the following example.

using System;
using System.Windows.Forms;

namespace close_form
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}

In the above code, we closed the form in our Windows Form application that only consists of one form with the Application.Exit() function in C#. The only drawback with this approach is that the Application.Exit() function exits the whole application. So, if the application contains more than one form, all the forms will be closed.

Close Form With the Form.Close() Function in C#

The Form.Close() function is used to close a Form in a Windows Form application in C#. We can use the Form.Close() function inside the button click event to close the specified form by clicking a button. See the following example.

using System;
using System.Windows.Forms;

namespace close_form
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }

    }
}

In the above code, we closed the form in our Windows Form application that only consists of one form with the Form.Close() function in C#. Unlike the previous method, this method only closes a single Form in our application. This method can be used to close a single form in an application that consists of multiple forms.

Muhammad Maisam Abbas avatar
Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Related Article — Csharp GUI

  • Save File Dialog in C#
  • Group the Radio Buttons in C#
  • Add Right Click Menu to an Item in C#
  • Add Items in C# ComboBox
  • Add Placeholder to a Textbox in C#
  • Simulate a Key Press in C#Ezoic
  • Имеется многооконное приложение. При запуске вызывается что-то на-подобии «Окна входа», где пользователь вводит, к примеру, логин и пароль. При наличии в базе пары введенный логин-пароль «Окно входа» закрывается и открывается «Основное
    окно», из которого последовательно вызываются другие окна, а оно закрывается. Понятно, что с привязкой формы к приложению это все организовать не получится(точнее сделать то можно, меняя у форм свойство Visible, но это будет «жрать неимоверное количество
    памяти», а это не очень хорошо), поэтому в файле «Program.cs» пишу следующий код:

    [STAThread]
        static void Main()
        {
          Application.EnableVisualStyles();
          Application.SetCompatibleTextRenderingDefault(false);
          Form1 form1 = new Form1();
            form1.Show(); 
          Application.Run(); //запустить независимое от Form1 приложение 
        }
    

    Затем в нужном месте просто пишу что-то на-подобии:

    Form2 form2 = new Form2(); //создать экземпляр типа Form2
    form2.Show(); //отобразить его
    this.Close(); //закрыть текущую форму
    

    При такой работе практически все работает как надо, но т.к. приложение не зависит от Form, то если пользователь сам закроет окно(не нажав на кнопку, выделенную мной для закрытия), то процесс приложения будет «висеть» в памяти, а это «не есть
    гуд».

    Пытался идентифицировать каким именно способом закрылась форма: с помощью кода

    или по нажатию пользователя на «крестик». Но оба этих события передают в метод Form_Closing один и тот же аргумент FormClosingEventArgs, который в поле CloseReason содержит значение UserClosing, т.е. таким макаром не отследить. Подумал: «может
    создать некоторую переменную типа Boolean, значение в которой изменять по нажатии на мою клавишу для закрытия и в зависимости от её значения завершать процесс приложения или нет», но эта переменная должна быть глобальной, а использование таких переменных
    также не очень хорошо. В итоге: я встал в тупик…

    Может кто-то подскажет каким образом можно корректно реализовать многооконное приложение, чтобы не возникало вышеописанных проблем.

    Чтобы
    скрыть форму
    вызовите
    метод Hide.

    В
    следующем примере кода показан способ
    скрытия формы frm1.

    glob.frm1.Hide();

    Внимание.
    При скрытии начальной формы вы не сможете
    без дополнительных команд закрыть
    приложение. Поэтому одновременоо с
    методом Hide для начальной формы
    прописывается команда ее открытия,
    привязанная к некоторому событию.

    Пример:
    Можно передать функцию закрытия
    приложения другой форме. Для этого в
    событии FormClosed для этой формы необходимо
    прописать метод Show для начальной фомы.

    private
    void Form2_FormClosed(object sender, FormClosedEventArgs e)

    {

    glob.frm1.Show();

    }

    Чтобы
    закрыть форму
    вызовите
    метод Close.

    В
    следующем примере кода показан способ
    закрытия формы frm1.

    glob.frm1.Close();

    Примечание1.
    При закрытии начальной формы будет
    закрыто приложение.

    Примечание2.
    При закрытии формы происходит ликвидация
    файловой переменной. Если закрытаяформа
    не является начальной и предполагается
    форму открывать неоднократно, то при
    открытии формы должны быть прописаны
    два метода: Show
    и new
    Form,
    например:

    glob.frm2
    = new Form2();

    glob.frm2.Show();

      1. Работа с элементами управления Windows Forms

    Элемент
    управления
    — это компонент на форме, использующийся
    для отображения сведений или ввода
    пользовательских данных. В
    ходе разработки и изменения пользовательского
    интерфейса приложений Windows Forms требуется
    добавлять, выравнивать и размещать
    элементы управления. Каждый тип элемента
    управления имеет собственный набор
    свойств, методов и событий, соответствующих
    определенному назначению. С элементами
    управления можно работать в конструкторе
    или добавлять их динамически во время
    выполнения с помощью кода.

    Существуют
    разнообразные элементы управления,
    которые можно разместить в Windows Forms в
    зависимости от требований конкретного
    приложения.

        1. Добавление элементов управления в формы Windows Forms

    Большинство
    форм разрабатываются путем добавления
    элементов управления на поверхность
    формы с целью создания пользовательского
    интерфейса.

    Чтобы
    нарисовать элемент управления в форме,
    выполните следующие действия.

    1. Откройте
      форму.

    2. В
      панели
      элементов
      щелкните элемент управления, который
      требуется добавить в форму.

    3. Щелкните
      место в форме, где должен располагаться
      левый верхний угол элемента управления,
      а затем перетащите указатель мыши на
      место, в котором должен располагаться
      правый нижний угол элемента управления.

    Элемент
    управления добавляется на форму в
    указанное место с указанными размерами.

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

    Чтобы перетащить
    элемент управления в форму, выполните
    следующие действия.

    1. Откройте
      форму.

    2. В
      панели элементов
      щелкните требуемый элемент управления
      и перетащите его в форму.

    Элемент
    добавляется в форму в указанное место
    с размером по умолчанию.

    Примечание.
    Чтобы
    добавить элемент управления с размером
    по умолчанию в верхний левый угол формы,
    щелкните его два раза в панели
    элементов.

    Можно
    также добавлять элементы управления
    на форму динамически во время выполнения.
    В приведенном ниже примере элемент
    управления TextBox
    (текстовое поле) будет добавлен на форму
    после щелчка элемента управления Button
    (кнопка).

    Примечание.
    Для
    следующей процедуры требуется форма с
    уже расположенным в ней элементом
    управления Кнопка
    Button1.

    Чтобы
    добавить элемент управления в форму с
    помощью программных средств,
    необходимо
    в метод, который обрабатывает событие
    (например, Click
    для кнопки) в результате которого должен
    быть добавлен элемент управления,
    добавить код, идентичный приведенному
    ниже. В коде прописаны команды: добавление
    ссылки на переменную элемента управления,
    задание расположения (свойство Location)
    элемента управления и добавления самого
    элемента управления.

    private
    void button1_Click(object sender, System.EventArgs e)

    {

    TextBox myText = new
    TextBox();

    myText.Location
    = new Point(25,25);

    this.Controls.Add (myText);

    }

    Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #

    I have an exit button on a winform that I want to use to close the program. I have added the button name to the FormClosed property found in the events section of the winforms properties. I thought that’s all I had to do but when I click the button it does not close. I looked at the code and while a handler is created, there is no code inside of it. I don’t know if that is correct or not. Here is the code that was created in the Form.cs file:

    private void btnExitProgram_Click(object sender, EventArgs e)
        {
    
        }
    

    What else do I have to do?

    neontapir's user avatar

    neontapir

    4,6803 gold badges37 silver badges52 bronze badges

    asked Mar 6, 2012 at 15:29

    Programming Newbie's user avatar

    2

    this.Close();
    

    Closes the form programmatically.

    answered Mar 6, 2012 at 15:31

    bschultz's user avatar

    1

    Remove the method, I suspect you might also need to remove it from your Form.Designer.

    Otherwise: Application.Exit();

    Should work.

    That’s why the designer is bad for you. :)

    Simple Sandman's user avatar

    answered Mar 6, 2012 at 15:34

    Thomas Lindvall's user avatar

    1

    The FormClosed Event is an Event that fires when the form closes. It is not used to actually close the form. You’ll need to remove anything you’ve added there.

    All you should have to do is add the following line to your button’s event handler:

    this.Close();
    

    answered Mar 6, 2012 at 15:32

    Justin Niessner's user avatar

    Justin NiessnerJustin Niessner

    240k40 gold badges405 silver badges535 bronze badges

    1

    We can close every window using Application.Exit();
    Using this method we can close hidden windows also.

    private void btnExitProgram_Click(object sender, EventArgs e)
    {
    Application.Exit();
    }

    answered Jun 1, 2017 at 9:20

    E J Chathuranga's user avatar

    Put this little code in the event of the button:

    this.Close();
    

    answered Mar 6, 2012 at 15:32

    Abbas's user avatar

    AbbasAbbas

    14k6 gold badges41 silver badges71 bronze badges

    0

    Try this:

    private void btnExitProgram_Click(object sender, EventArgs e) {
        this.Close();
    }
    

    answered Mar 6, 2012 at 15:32

    juergen d's user avatar

    juergen djuergen d

    199k36 gold badges286 silver badges350 bronze badges

    0

    Used Following Code

    System.Windows.Forms.Application.Exit( ) 
    

    answered Dec 9, 2020 at 18:44

    Ghotekar Rahul's user avatar

    In Visual Studio 2015, added this to a menu for File -> Exit and in that handler put:

    this.Close();
    

    but the IDE said ‘this’ was not necessary. Used the IDE suggestion with just Close(); and it worked.

    answered Jan 13, 2016 at 17:53

    Brad Rogers's user avatar

    Brad RogersBrad Rogers

    892 silver badges12 bronze badges

    If you only want to Close the form than you can use this.Close();
    else if you want the whole application to be closed use Application.Exit();

    answered Oct 23, 2016 at 16:48

    Anayetullah's user avatar

    You can also do like this:

    private void button2_Click(object sender, EventArgs e)
    {
        System.Windows.Forms.Application.ExitThread();
    }
    

    Sami Ahmed Siddiqui's user avatar

    answered Oct 4, 2019 at 6:27

    Renz Macawili's user avatar

    I have an exit button on a winform that I want to use to close the program. I have added the button name to the FormClosed property found in the events section of the winforms properties. I thought that’s all I had to do but when I click the button it does not close. I looked at the code and while a handler is created, there is no code inside of it. I don’t know if that is correct or not. Here is the code that was created in the Form.cs file:

    private void btnExitProgram_Click(object sender, EventArgs e)
        {
    
        }
    

    What else do I have to do?

    neontapir's user avatar

    neontapir

    4,6803 gold badges37 silver badges52 bronze badges

    asked Mar 6, 2012 at 15:29

    Programming Newbie's user avatar

    2

    this.Close();
    

    Closes the form programmatically.

    answered Mar 6, 2012 at 15:31

    bschultz's user avatar

    1

    Remove the method, I suspect you might also need to remove it from your Form.Designer.

    Otherwise: Application.Exit();

    Should work.

    That’s why the designer is bad for you. :)

    Simple Sandman's user avatar

    answered Mar 6, 2012 at 15:34

    Thomas Lindvall's user avatar

    1

    The FormClosed Event is an Event that fires when the form closes. It is not used to actually close the form. You’ll need to remove anything you’ve added there.

    All you should have to do is add the following line to your button’s event handler:

    this.Close();
    

    answered Mar 6, 2012 at 15:32

    Justin Niessner's user avatar

    Justin NiessnerJustin Niessner

    240k40 gold badges405 silver badges535 bronze badges

    1

    We can close every window using Application.Exit();
    Using this method we can close hidden windows also.

    private void btnExitProgram_Click(object sender, EventArgs e)
    {
    Application.Exit();
    }

    answered Jun 1, 2017 at 9:20

    E J Chathuranga's user avatar

    Put this little code in the event of the button:

    this.Close();
    

    answered Mar 6, 2012 at 15:32

    Abbas's user avatar

    AbbasAbbas

    14k6 gold badges41 silver badges71 bronze badges

    0

    Try this:

    private void btnExitProgram_Click(object sender, EventArgs e) {
        this.Close();
    }
    

    answered Mar 6, 2012 at 15:32

    juergen d's user avatar

    juergen djuergen d

    199k36 gold badges286 silver badges350 bronze badges

    0

    Used Following Code

    System.Windows.Forms.Application.Exit( ) 
    

    answered Dec 9, 2020 at 18:44

    Ghotekar Rahul's user avatar

    In Visual Studio 2015, added this to a menu for File -> Exit and in that handler put:

    this.Close();
    

    but the IDE said ‘this’ was not necessary. Used the IDE suggestion with just Close(); and it worked.

    answered Jan 13, 2016 at 17:53

    Brad Rogers's user avatar

    Brad RogersBrad Rogers

    892 silver badges12 bronze badges

    If you only want to Close the form than you can use this.Close();
    else if you want the whole application to be closed use Application.Exit();

    answered Oct 23, 2016 at 16:48

    Anayetullah's user avatar

    You can also do like this:

    private void button2_Click(object sender, EventArgs e)
    {
        System.Windows.Forms.Application.ExitThread();
    }
    

    Sami Ahmed Siddiqui's user avatar

    answered Oct 4, 2019 at 6:27

    Renz Macawili's user avatar

    Создание непрямоугольных форм. Закрытие формы

    Последнее обновление: 31.10.2015

    По умолчанию все формы в Windows Forms являются прямоугольными. Однако мы можем создавать и непрямоугольные произвольные формы.
    Для этого используется свойство Region. В качестве значения оно принимает объект одноименного класса Region.

    При создании непрямоугольных форм, как правило, не используются границы формы, так как границы задаются этим объектом
    Region. Чтобы убрать границы формы, надо присвоить у формы свойству FormBorderStyle значение None.

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

    Итак, перейдем к коду формы и изменим его следующим образом:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace HelloApp
    {
        public partial class Form1 : Form
        {
            Point moveStart; // точка для перемещения
    
            public Form1()
            {
                InitializeComponent();
                this.FormBorderStyle = FormBorderStyle.None;
                this.BackColor = Color.Yellow;
                Button button1 = new Button
                {
                    Location = new Point
                    {
                        X = this.Width / 3,
                        Y = this.Height / 3
                    }
                };
                button1.Text = "Закрыть";
                button1.Click += button1_Click;
                this.Controls.Add(button1); // добавляем кнопку на форму
                this.Load += Form1_Load;
                this.MouseDown += Form1_MouseDown;
                this.MouseMove += Form1_MouseMove;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                this.Close();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                System.Drawing.Drawing2D.GraphicsPath myPath = new System.Drawing.Drawing2D.GraphicsPath();
                // создаем эллипс с высотой и шириной формы
                myPath.AddEllipse(0, 0, this.Width, this.Height);
                // создаем с помощью элипса ту область формы, которую мы хотим видеть
                Region myRegion = new Region(myPath);
                // устанавливаем видимую область
                this.Region = myRegion;
            }
    
            private void Form1_MouseDown(object sender, MouseEventArgs e)
            {
                // если нажата левая кнопка мыши
                if (e.Button == MouseButtons.Left)
                {
                    moveStart = new Point(e.X, e.Y);
                }
            }
    
            private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                // если нажата левая кнопка мыши
                if ((e.Button & MouseButtons.Left) != 0)
                {
                    // получаем новую точку положения формы
                    Point deltaPos = new Point(e.X - moveStart.X, e.Y - moveStart.Y);
                    // устанавливаем положение формы
                    this.Location = new Point(this.Location.X + deltaPos.X,
                      this.Location.Y + deltaPos.Y);
                }
            }
        }
    }
    

    Непрямоугольные формы в Windows Forms

    Создание области формы происходит в обработчике события Form1_Load. Для создания области используется графический путь — объект класса
    System.Drawing.Drawing2D.GraphicsPath, в который добавляется эллипс. Графический путь позволяет создать фигуру любой формы,
    поэтому, если мы захотим форму в виде морской звезды, то нам просто надо должным образом настроить используемый графический путь.

    Для закрытия формы в обработчике события нажатия кнопки button1_Click форма закрывается программным образом: this.Close()

    Для перемещения формы обрабатываются два события формы — событие нажатия кнопки мыши и событие перемещения указателя мыши.

    Понравилась статья? Поделить с друзьями:
  • Как закрыть фоновые программы на ноутбуке в windows 7
  • Как закрепить ярлык этот компьютер на рабочем столе windows 10
  • Как закрыть ненужные процессы на windows 10 в диспетчере задач
  • Как закрыть фоновые программы в windows 7 на компьютере
  • Как закрепить ярлык сайта на рабочем столе windows 10