Как закрыть окно в windows forms

Ok, so a Windows Forms class, WindowSettings, and the form has a "Cancel"-button. When the user clicks the button, the dialog DialogSettingsCancel will pop-up up and ask the user if he is sure he w...

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();
}

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

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

  • кликнуть в правом верхнем углу красную кнопку «крестик»
  • комбинация клавиш 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
  • Алена5

    2 / 2 / 0

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

    Сообщений: 68

    1

    Закрыть окно

    06.10.2011, 16:36. Показов 97479. Ответов 12

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


    Делаю программку с 3-мя окнами. Окна открываются поочередно кнопками(сначала первое окно из него с помощью кнопки вызываться второе а уже из второго третье). При этом после того как было вызвано второе окно первое должно закрываться.
    Закрытие писала через

    C#
    1
    
    this.Close()

    Но при этом автоматически закрывалась вся программка полностью.

    Делала закрытие из другого окна

    C#
    1
    2
    
    Form1 f1 = new Form1;().
    f1.Close();

    Второе окно открывалось и сразу же закрывалось все полностью.

    После этого написала

    C#
    1
    
    this.Visible = fslse;

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

    Подскажите как это можно решить плиз.

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



    0



    137 / 137 / 42

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

    Сообщений: 316

    06.10.2011, 17:19

    2

    А что именно требуется то? Если все окна закрываешь, то желательно и прогу завершать, иначе она повиснет в памяти. А как окно назад возвращать?



    0



    sk007

    Life Builder

    532 / 496 / 374

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

    Сообщений: 1,752

    06.10.2011, 17:37

    3

    попробуй вместо

    C#
    1
    
    this.Close();

    писать

    C#
    1
    
    this.Hide();

    потом можно будет возвращать окно

    C#
    1
    
    this.Show();

    , Чтобы завершить программу используй

    C#
    1
    
    Application.Exit();

    .



    3



    Dzhej-Dzhej

    Заблокирован

    06.10.2011, 17:46

    4

    Цитата
    Сообщение от Алена5
    Посмотреть сообщение

    Приходиться каждый раз лезть в диспетчер задач и завершать все процессы «насильно».

    В студии на панели инструментов есть синий квадратик «остановить отладку».



    0



    47 / 47 / 6

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

    Сообщений: 308

    06.10.2011, 17:57

    5

    дело в том, что формы 1 является основной и потому при её закрытии все остальные формы тоже закрываются
    свойство Visible позволяет отображать/не отображать окно. поэтому

    Цитата
    Сообщение от Алена5
    Посмотреть сообщение

    Код C#
    1
    this.Visible = fslse;

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



    0



    Эксперт .NET

    16749 / 12500 / 3286

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

    Сообщений: 20,734

    06.10.2011, 22:31

    6

    Не рекомендую использовать Application.Exit() — в этом случае приложение «убивается» и не вызываются события типа FormClosing.
    Если надо чтобы одна форма по клику в ней кнопки закрывалась и открывалась другая, то создавайте обе формы в родительской и выстраивайте логику в зависимости от значения DialogResult первой формы.



    0



    47 / 47 / 6

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

    Сообщений: 308

    06.10.2011, 23:54

    7

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



    0



    Эксперт .NET

    16749 / 12500 / 3286

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

    Сообщений: 20,734

    07.10.2011, 00:17

    8

    M__A__K, я вас понял, именно этого и не рекомендуется делать, особенно если во время выхода из приложения нужно хотя бы отследить что послужило закрытием (пользователь закрыл, убили прогу через диспетчер, комп ребутнулся — мало ли).
    Не говоря уже о других, которые обычно делаются при закрытии приложения.



    0



    47 / 47 / 6

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

    Сообщений: 308

    07.10.2011, 18:35

    9

    kolorotur, а как тогда закрывать приложение?



    0



    Эксперт .NET

    16749 / 12500 / 3286

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

    Сообщений: 20,734

    07.10.2011, 18:56

    10

    M__A__K, я наверное коряво выразился.
    Закрывать можно как через метод Close главной формы, так и через Application.Exit().
    Однако, если форма подписана на обработку событий FormClosing и/или FormClosed, то при использовании Application.Exit эти события не будут запущены, следовательно код в их обработчиках не будет выполнен. В этих случаях рекомендуется закрывать приложение вызовом Close главной формы.



    0



    47 / 47 / 6

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

    Сообщений: 308

    07.10.2011, 19:31

    11

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

    Однако, если форма подписана на обработку событий FormClosing и/или FormClosed, то при использовании Application.Exit эти события не будут запущены,

    Метод Exit вызывает следующие события и выполняет сопоставленные условные действия:

    Событие FormClosing вызывается для каждое формы, представленной свойством OpenForms. Это событие не может быть отменено посредством задания для свойства Cancel его параметра FormClosingEventArgs значения true.

    Если один или более обработчиков отменяют событие, метод Exit возвращается, не выполняя дальнейших действий. В противном случае событие FormClosed происходит при каждом открытии формы, после чего все выполняющиеся циклы обработки сообщений, а также формы закрываются.

    Примечание
    Метод Exit не вызывает события Closed и Closing, которые устарели относительно .NET Framework 2.0.

    Статья MSDN

    Добавлено через 2 минуты
    P.S. вы не подумайте, что я принципиально против метода Close как метода вообще или как вашего варианта. просто я хочу разобраться, что здесь применять правильнее



    1



    Эксперт .NET

    16749 / 12500 / 3286

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

    Сообщений: 20,734

    07.10.2011, 22:49

    12

    M__A__K, фу ты елки-палки, это я так отстал от жизни
    Приношу свои извинения, метод Application.Exit() отлично работает с событиями FormClosing и FormClosed.



    0



    21 / 14 / 5

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

    Сообщений: 661

    27.08.2016, 08:21

    13

    kolorotur, можете подробнее описать процесс создания обеих окон в родительской, как Вы упомянули… И что вообще такое этот DialogResult



    0



    IT_Exp

    Эксперт

    87844 / 49110 / 22898

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

    Сообщений: 92,604

    27.08.2016, 08:21

    Помогаю со студенческими работами здесь

    Закрыть дочернее окно при открытии копии этого окна
    Подскажите пожалуйста, как закрыть дочернее окно Form2 если открылась копия этого окна?

    имея две…

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

    Форма (окно) произвольного вида, Переделываем окно — теория и практика
    Итак, многи видели окна в стиле Ribbon (Office 2007).
    Для чего я создаю этот пост — нужно подробно…

    Закрыть дочернее окно и открыть в единственном экземпляре Главное окно
    Есть главная форма Main Form , там кнопка Button 1 при нажатии на Button 1 открывыется дочерняя…

    Закрыть окно, из которого создано новое окно
    Как мне закрыть окно из которого я создал новое окно?

    Window1 window = new Window1();…

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

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

    Или воспользуйтесь поиском по форуму:

    13

    Имеется многооконное приложение. При запуске вызывается что-то на-подобии «Окна входа», где пользователь вводит, к примеру, логин и пароль. При наличии в базе пары введенный логин-пароль «Окно входа» закрывается и открывается «Основное
    окно», из которого последовательно вызываются другие окна, а оно закрывается. Понятно, что с привязкой формы к приложению это все организовать не получится(точнее сделать то можно, меняя у форм свойство 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);

    }

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

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

    Понравилась статья? Поделить с друзьями:
  • Как залезть в реестр windows 10
  • Как закупить лицензии windows для организации
  • Как закрыть окно в windows 10 сочетание клавиш
  • Как закрыть языковую панель в windows 10
  • Как закрыть окно windows script host