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

I have an application that among other things has an Edit Button and when the user clicks on that button I want a new window to open with various textboxes for editing purposes.

I can create a new window with code like

Form editform = new Form();

But I want to design that window in the Designer too.

  • c#
  • .net
  • winforms

Peter Mortensen's user avatar

asked Aug 17, 2011 at 20:42

user850010's user avatar

user850010user850010

6,33112 gold badges39 silver badges60 bronze badges

1

  • It’s trivial but that isn’t a reason to close it. If one beginner programmer came here to ask this question, others will too (And find this one, hopefully).

    Aug 17, 2011 at 20:52

2 Answers

In Visual Studio, right-click on your project and select Add->Windows Form. That will give you a new form to work with. Lay it out how you want. Then you can launch the window from your main window with code similar to the following:

MyEditForm form = new MyEditForm();
form.Show();

Peter Mortensen's user avatar

answered Aug 17, 2011 at 20:46

Brian Driscoll's user avatar

Brian DriscollBrian Driscoll

19.4k3 gold badges46 silver badges65 bronze badges

3

  • I also want to add check out the DialogResult to return whether edit was successful, etc.

    Aug 17, 2011 at 23:23

  • Opening it in a non-modal way?

    Apr 23, 2015 at 11:51

  • @PeterMortensen Show() is not modal; for a modal dialog you’d want to call the ShowDialog() method instead.

    Apr 23, 2015 at 13:14

To answer Rick’s comment on Brian’s answer:

        using (var login = new Login())
        {
            switch(login.ShowDialog())
            {
                case DialogResult.OK:
                    Application.Run(new Studio());
                break;
            }
        }

answered Aug 15, 2012 at 16:41

Levitikon's user avatar

LevitikonLevitikon

7,7499 gold badges57 silver badges74 bronze badges

1

  • Would that be behaving like a modal dialog, then?

    Apr 23, 2015 at 12:04

I have an application that among other things has an Edit Button and when the user clicks on that button I want a new window to open with various textboxes for editing purposes.

I can create a new window with code like

Form editform = new Form();

But I want to design that window in the Designer too.

  • c#
  • .net
  • winforms

Peter Mortensen's user avatar

asked Aug 17, 2011 at 20:42

user850010's user avatar

user850010user850010

6,33112 gold badges39 silver badges60 bronze badges

1

  • It’s trivial but that isn’t a reason to close it. If one beginner programmer came here to ask this question, others will too (And find this one, hopefully).

    Aug 17, 2011 at 20:52

2 Answers

In Visual Studio, right-click on your project and select Add->Windows Form. That will give you a new form to work with. Lay it out how you want. Then you can launch the window from your main window with code similar to the following:

MyEditForm form = new MyEditForm();
form.Show();

Peter Mortensen's user avatar

answered Aug 17, 2011 at 20:46

Brian Driscoll's user avatar

Brian DriscollBrian Driscoll

19.4k3 gold badges46 silver badges65 bronze badges

3

  • I also want to add check out the DialogResult to return whether edit was successful, etc.

    Aug 17, 2011 at 23:23

  • Opening it in a non-modal way?

    Apr 23, 2015 at 11:51

  • @PeterMortensen Show() is not modal; for a modal dialog you’d want to call the ShowDialog() method instead.

    Apr 23, 2015 at 13:14

To answer Rick’s comment on Brian’s answer:

        using (var login = new Login())
        {
            switch(login.ShowDialog())
            {
                case DialogResult.OK:
                    Application.Run(new Studio());
                break;
            }
        }

answered Aug 15, 2012 at 16:41

Levitikon's user avatar

LevitikonLevitikon

7,7499 gold badges57 silver badges74 bronze badges

1

  • Would that be behaving like a modal dialog, then?

    Apr 23, 2015 at 12:04

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

Шаг 1: Создайте новую форму

Первым шагом является создание новой формы, которую вы хотите открыть. Вы можете сделать это, щелкнув правой кнопкой мыши на проекте в Solution Explorer и выбрав «Add» > «Windows Form» из контекстного меню. Затем введите имя для новой формы и нажмите «Add».

Шаг 2: Создайте экземпляр формы и откройте ее

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

YourFormName newForm = new YourFormName();

newForm.Show();

Шаг 3: Настраиваемые параметры (при необходимости)

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

YourFormName newForm = new YourFormName(parameter1, parameter2);

newForm.Show();

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

Содержание

  1. Шаг 1: Откройте проект в Microsoft Visual Studio
  2. Шаг 2: Добавьте новую форму
  3. Шаг 3: Создайте кнопку «Открыть новое окно»
  4. Шаг 4: Напишите код для открытия нового окна
  5. Вопрос-ответ

Шаг 1: Откройте проект в Microsoft Visual Studio

Перед тем как открыть новое окно в Windows Forms, вам необходимо открыть ваш проект в Microsoft Visual Studio.

1. Запустите Microsoft Visual Studio и откройте ваш проект, в котором вы хотите создать новое окно.

2. Для этого выберите меню «Файл» (File), а затем «Открыть» (Open). Вы можете также воспользоваться горячими клавишами Ctrl+O.

3. В открывшемся диалоговом окне выберите папку с вашим проектом и щелкните на ней, чтобы выделить ее. Затем нажмите кнопку «Открыть» (Open).

4. Теперь ваш проект открыт в Microsoft Visual Studio и вы можете приступить к созданию нового окна.

Примечание: Убедитесь, что ваш проект является проектом Windows Forms, который поддерживает создание окон. Если ваш проект не является проектом Windows Forms, вам может потребоваться создать новый проект или изменить тип вашего проекта.

Шаг 2: Добавьте новую форму

Чтобы открыть новое окно в Windows Forms, вам необходимо добавить новую форму к вашему проекту.

Чтобы создать новую форму, в Visual Studio вы можете нажать правой кнопкой мыши на проекте в обозревателе решений, выбрать пункт «Добавить» и затем «Новый элемент». Затем выберите тип элемента «Windows Forms» и нажмите кнопку «ОК».

После этого в вашем проекте появится новая форма с расширением .cs (для C#) или .vb (для Visual Basic), которую вы сможете открыть и редактировать.

Вы также можете создать новый класс формы, щелкнув правой кнопкой в обозревателе решений, выбрав пункт «Добавить» и затем «Класс». Затем введите имя вашей новой формы и убедитесь, что тип базового класса установлен на «Form».

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

В этом шаге вы добавили новую форму к вашему проекту Windows Forms. Теперь вы готовы перейти к следующему шагу и настроить открытие нового окна при нажатии кнопки или другого события.

Шаг 3: Создайте кнопку «Открыть новое окно»

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

  1. Откройте файл формы, на которой вы хотите добавить кнопку. Обычно это файл с расширением .cs.
  2. Разместите курсор в месте, где вы хотите разместить кнопку.
  3. В контейнере элементов управления (обычно это панель инструментов «Разметка» или «Компоненты», находящаяся справа) найдите кнопку, и перетащите ее на нужное место на форме.
  4. Измените свойства кнопки при необходимости. Например, вы можете задать текст кнопки, стиль, размеры и др.

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

Шаг 4: Напишите код для открытия нового окна

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

Вот пример кода, который вы можете использовать для открытия нового окна:

private void открытьНовоеОкноToolStripMenuItem_Click(object sender, EventArgs e)
{
НовоеОкно новаяФорма = new НовоеОкно();
новаяФорма.Show();
}

В этом примере мы создаем новый экземпляр формы с именем «НовоеОкно» и вызываем метод «Show()» для отображения этой формы. Как только этот код выполнится, новое окно будет открыто и станет видимым для пользователя.

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

Теперь у вас есть все, что нужно, чтобы открыть новое окно в Windows Forms. Вы можете повторить этот процесс для создания и открытия любого количества окон в своем приложении.

Вопрос-ответ

3 / 3 / 0

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

Сообщений: 92

1

Нажатием на кнопку, открыть/закрыть новое окно

22.10.2009, 17:12. Показов 67075. Ответов 5


Студворк — интернет-сервис помощи студентам

При программирование под Windows, мне нжно при нажатии на кнопку, что открывалось новое окно и при нажатии на другую — происходил выход. Какими командами это реализвать?



0



Programming

Эксперт

94731 / 64177 / 26122

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

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

22.10.2009, 17:12

5

Mike

18 / 18 / 2

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

Сообщений: 71

22.10.2009, 17:30

2

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public partial class Form1:Form
    {
        Form f;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button2_Click(object sender,EventArgs e)
        {
            f.Close();
        }
 
        private void button1_Click(object sender,EventArgs e)
        {
            f=new Form();
            f.Show();
        }
    }

вы это имели ввиду?



1



kirill29

2095 / 1260 / 171

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

Сообщений: 2,842

22.10.2009, 20:27

3

Выход из приложения можно реализовать и так:

C#
1
2
3
4
        private void button2_Click(object sender,EventArgs e)
        {
            Application.Exit();
        }



1



3 / 3 / 0

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

Сообщений: 92

22.10.2009, 20:31

 [ТС]

4

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

Я нашла, спасибо



0



1923 / 428 / 41

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

Сообщений: 2,062

23.10.2009, 04:37

5

alenka012, не нужно торопиться создавать новую тему при первой же сложности. Пользуйтесь поиском по форуму.



0



GuitarFan

7 / 7 / 1

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

Сообщений: 352

07.04.2013, 15:54

6

Собственно, как же это сделать?

Добавлено через 6 минут
Может кому-то еще пригодится, сделал я это таким образом:
Создал новую форму в Solution Explorer, нажав правой кнопкой на проект, Add…
Затем написал код такой же, как тут предлагали, но уже с Form2 (имя формы, которую создал)

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

Правильно или нет — не знаю, но работает. Может можно как-то лучше написать.



1



Добавление форм. Взаимодействие между формами

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

Чтобы добавить еще одну форму в проект, нажмем на имя проекта в окне Solution Explorer (Обозреватель решений) правой кнопкой мыши и выберем
Add(Добавить)->Windows Form…

добавление новой формы

Дадим новой форме какое-нибудь имя, например, Form2.cs:

создание новой формы

Итак, у нас в проект была добавлена вторая форма. Теперь попробуем осуществить взаимодействие между двумя формами. Допустим, первая форма
по нажатию на кнопку будет вызывать вторую форму. Во-первых, добавим на первую форму Form1 кнопку и двойным щелчком по кнопке перейдем в файл кода. Итак,
мы попадем в обработчик события нажатия кнопки, который создается по умолчанию после двойного щелчка по кнопке:

private void button1_Click(object sender, EventArgs e)
{

}

Теперь добавим в него код вызова второй формы. У нас вторая форма называется Form2, поэтому сначала мы создаем объект данного класса, а потом для его
отображения на экране вызываем метод Show:

private void button1_Click(object sender, EventArgs e)
{
	Form2 newForm = new Form2();
	newForm.Show();
}

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

Итак перейдем ко второй форме и перейдем к ее коду — нажмем правой кнопкой мыши на форму и выберем View Code (Просмотр кода). Пока он пустой и
содержит только конструктор. Поскольку C# поддерживает перегрузку методов, то мы можем создать несколько методов и конструкторов с разными
параметрами и в зависимости от ситуации вызывать один из них. Итак, изменим файл кода второй формы на следующий:

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 Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        public Form2(Form1 f)
        {
            InitializeComponent();
            f.BackColor = Color.Yellow;
        }
    }
}

Фактически мы только добавили здесь новый конструктор public Form2(Form1 f), в котором мы получаем первую форму и устанавливаем ее фон
в желтый цвет. Теперь перейдем к коду первой формы, где мы вызывали вторую форму и изменим его на следующий:

private void button1_Click(object sender, EventArgs e)
{
	Form2 newForm = new Form2(this);
	newForm.Show();
}

Поскольку в данном случае ключевое слово this представляет ссылку на текущий объект — объект Form1, то при создании второй формы она будет получать ее (ссылку)
и через нее управлять первой формой.

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

Мы можем также создавать объекты и текущей формы:

private void button1_Click(object sender, EventArgs e)
{
	Form1 newForm1 = new Form1();
	newForm1.Show();
		
	Form2 newForm2 = new Form2(newForm1);
	newForm2.Show();
}

При работе с несколькими формами надо учитывать, что одна из них является главной — которая запускается первой в файле Program.cs.
Если у нас одновременно открыта куча форм, то при закрытии главной закрывается все приложение и вместе с ним все остальные формы.

  • Как открыть невидимые папки на windows 10
  • Как открыть контекстное меню рабочего стола windows
  • Как открыть корзину в windows 10 не с рабочего стола
  • Как открыть начальный экран в windows 11
  • Как открыть настройки дисков windows 10