Как создать второе окно в windows forms
Перейти к содержимому

Как создать второе окно в windows forms

  • автор:

Как создать второе окно в windows forms

Чтобы добавить еще одну форму в проект, нажмем на имя проекта в окне 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)

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

Итак перейдем ко второй форме и перейдем к ее коду — нажмем правой кнопкой мыши на форму и выберем 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)

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

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

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

private void button1_Click(object sender, EventArgs e)

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

как создать дополнительное окно в Windows Forms(т.е. внутри одного приложения при нажатии кнопки будет открываться второе окно)

Нужно сделать окно, которое при нажатии на кнопку будет открываться второе окно (для добавления нового файла). Допустим будет кнопка «добавить» при нажатии будет высвечиваться\открываться второе окно, в котором нужно будет заполнить несколько текстовых блоков, и при нажатии сохранить, всё это сохраниться в тхт файле. В общем, просто о том как создать второе окно в виндовс форм. Что-то вроде диалогового окна с кнопкой.

Отслеживать

20.2k 6 6 золотых знаков 38 38 серебряных знаков 81 81 бронзовый знак

Руководство. Начало работы с конструктором Windows Forms

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

  • Упорядочение элементов управления с помощью оснастки.
  • Выполнение задач конструктора с помощью смарт-тегов.
  • устанавливать поля и отбивки для элементов управления;
  • Упорядочение элементов управления с помощью TableLayoutPanel элемента управления.
  • разделять макет элемента управления с помощью элемента управления SplitContainer;
  • просматривать макет в окне «Структура документа»;
  • размещать элементы управления с отображением размера и сведений о расположении;
  • Задайте значения свойств с помощью окно свойств.

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

Если вы являетесь разработчиком C++ и ищете руководство по созданию приложения Windows, которое включает формы и элементы управления, см. статью Создание приложения MFC на основе форм. Дополнительные обобщенные сведения см. в разделе Обзор программирования Windows на C++.

Создание проекта пользовательского элемента управления

Первым шагом является создание проекта элемента управления DemoCalculator.

Screenshot of the Windows Forms Control Library template in Visual Studio.

  1. Откройте Visual Studio и создайте проект библиотеки элементов управления Windows Forms с помощью шаблона платформа .NET Framework для C# или Visual Basic. Задайте проекту имя DemoCalculatorLib.
  2. Чтобы переименовать файл, в обозревателе решений щелкните правой кнопкой мыши элемент UserControl1.vb или UserControl1.cs, выберите Переименовать и замените имя файла на DemoCalculator.vb или DemoCalculator.cs. Выберите «Да «, когда вам будет предложено переименовать все ссылки на элемент кода UserControl1.

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

Разработка макета элемента управления

Элемент управления DemoCalculator содержит несколько элементов управления Windows Forms. В этой процедуре вы упорядочены элементы управления с помощью конструктора Windows Forms.

  1. В конструкторе Windows Forms увеличьте размер элемента управления DemoCalculator, выбрав маркер изменения размера в правом нижнем углу и перетащив его вниз и вправо. В правом нижнем углу Visual Studio просмотрите сведения о размере и расположении элементов управления. Задайте элементу управления ширину 500 и высоту 400, наблюдая за сведениями о размере при изменении размера элемента управления.
  2. На панели элементов выберите узел Контейнеры, чтобы открыть его. Выберите элемент управления SplitContainer и перетащите его на поверхность конструктора. Элемент SplitContainer появится на поверхности конструктора элемента управления DemoCalculator.

Совет Размер элемента управления SplitContainer автоматически устанавливается в соответствии с размером элемента управления DemoCalculator. В окне Свойства проверьте свойства, заданные для элемента управления SplitContainer . Найдите свойство Dock. Ему задано значение DockStyle.Fill. Это означает, что размер элемента управления SplitContainer устанавливается в соответствии с границами элемента управления DemoCalculator. Измените размер элемента управления DemoCalculator, чтобы проверить это поведение.

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

Заполнение элемента управления

Теперь, когда макет элемента управления настроен, можно добавить в элемент управления DemoCalculator кнопки и экран.

  1. На панели элементов выберите значок элемента управления TextBox . Элемент управления TextBox помещается в первую ячейку элемента управления TableLayoutPanel .
  2. В окне Свойства замените значение свойства ColumnSpan элемента управления TextBox на 5. Элемент управления TextBox переместится в центр своей строки.
  3. Замените значение свойства Anchor элемента управления TextBox на Left , Right . Элемент управления TextBox расширится по горизонтали, заняв все пять столбцов.
  4. Измените значение свойства TextBox элемента управления TextAlign на Right .
  5. В окне Свойства разверните узел свойства Font . Задайте значение 14 для Size и true для Bold у элемента управления TextBox .
  6. Выберите элемент управления TableLayoutPanel .
  7. На панели элементов выберите значок Button . Элемент управления Button разместится в следующей свободной ячейке элемента управления TableLayoutPanel .
  8. На панели элементов выберите Button еще четыре раза, чтобы заполнить вторую строку элемента управления TableLayoutPanel .
  9. Выберите все пять элементов управления Button , удерживая нажатой клавишу SHIFT. Нажмите клавиши CTRL+C, чтобы скопировать элементы управления Button в буфер обмена.
  10. Трижды нажмите сочетание клавиш CTRL+V, чтобы вставить скопированные элементы управления Button в оставшиеся строки элемента управления TableLayoutPanel .
  11. Выберите все 20 элементов управления Button , удерживая нажатой клавишу SHIFT.
  12. В окне Свойства замените значение свойства Dock на Fill . Все элементы управления Button закрепятся в своих ячейках.
  13. В окне Свойства разверните узел свойства Margin . Для All задайте значение 5. Всем элементам управления Button задается меньший размер, чтобы увеличить поля между ними.
  14. Выберите button10 и button20, после чего нажмите клавишу DELETE, чтобы удалить их из макета.
  15. Выберите button5 и button15, после чего замените значение их свойства RowSpan на 2. Эти кнопки представляют кнопки Clear и = button for the DemoCalculator control.

Использование окна структуры документа

Если в элементе управления или форме присутствует несколько элементов управления, перемещаться по макету удобнее с помощью окна «Структура документа».

  1. В строке меню выберите Вид>Другие окна>Структура документа. В этом окне структура элемента управления DemoCalculator и его составных элементов управления представлена в виде дерева. Дочерние элементы управления контейнерных элементов управления, таких как SplitContainer , отображаются в виде подузлов дерева. Вы также можете переименовать элементы управления с помощью окна «Структура документа».
  2. В окне Структура документа щелкните правой кнопкой мыши элемент button1, чтобы выбрать его, после чего щелкните Переименовать. Замените его имя на sevenButton.
  3. В окне Структура документа замените имена элементов управления Button , заданные конструктором, на имена для рабочей среды согласно следующему списку:
    • button1 на sevenButton;
    • button2 на eightButton;
    • button3 на nineButton;
    • button4 на divisionButton;
    • button5 на clearButton;
    • button6 на fourButton;
    • button7 на fiveButton;
    • button8 на sixButton;
    • button9 на multiplicationButton;
    • button11 на oneButton;
    • button12 на twoButton;
    • button13 на threeButton;
    • button14 на subtractionButton;
    • button15 на equalsButton;
    • button16 на zeroButton;
    • button17 на changeSignButton;
    • button18 на decimalButton;
    • button19 на additionButton;
  4. С помощью окон Структура документа и Свойства измените значения свойства Text для каждого имени элемента управления Button согласно следующему списку:
    • для элемента управления sevenButton замените свойство текста на 7;
    • для элемента управления eightButton замените свойство текста на 8;
    • для элемента управления nineButton замените свойство текста на 9;
    • для элемента управления divisionButton замените свойство текста на / (косая черта);
    • для элемента управления clearButton замените свойство текста на Clear;
    • для элемента управления fourButton замените свойство текста на 4;
    • для элемента управления fiveButton замените свойство текста на 5;
    • для элемента управления sixButton замените свойство текста на 6;
    • для элемента управления multiplicationButton замените свойство текста на * (звездочка);
    • для элемента управления oneButton замените свойство текста на 1;
    • для элемента управления twoButton замените свойство текста на 2;
    • для элемента управления threeButton замените свойство текста на 3;
    • для элемента управления subtractionButton замените свойство текста на (дефис);
    • для элемента управления equalsButton замените свойство текста на = (знак равенства);
    • для элемента управления zeroButton замените свойство текста на 0;
    • для элемента управления changeSignButton замените свойство текста на +/-;
    • для элемента управления decimalButton замените свойство текста на . (точка);
    • для элемента управления additionButton замените свойство текста на + (знак «плюс»);
  5. На поверхности конструктора выберите все элементы управления Button , удерживая нажатой клавишу SHIFT.
  6. В окне Свойства разверните узел свойства Font . Задайте значение 14 для Size и true для Bold у всех элементов управления Button .

Этот набор инструкций завершает проектирование элемента управления DemoCalculator. Остается только добавить логику калькулятора.

Добавление обработчиков событий

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

  1. На поверхности конструктора выберите все элементы управления Button , удерживая нажатой клавишу SHIFT.
  2. Выберите один из элементов управления Button . В редакторе кода откроются обработчики событий, созданные конструктором.

Тестирование элемента управления

Поскольку элемент управления DemoCalculator наследуется от класса UserControl, его поведение можно проверить с помощью Контейнера для тестирования пользовательских элементов управления. Дополнительные сведения см. в статье «Практическое руководство. Тестирование поведения во время выполнения userControl».

  1. Нажмите клавишу F5, чтобы собрать и запустить элемент управления DemoCalculator в Контейнере для тестирования пользовательских элементов управления.
  2. Выберите границу между панелями SplitContainer и перетащите ее влево и вправо. Размеры элемента TableLayoutPanel и всех его дочерних элементов управления будут изменяться в соответствии с доступным пространством.
  3. После завершения тестирования элемента управления нажмите кнопку «Закрыть«.

Использование элемента управления в форме

Элемент управления DemoCalculator можно использовать в других составных элементах управления или в форме. Ниже описано, как это сделать.

Создание проекта

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

  1. Создайте проект Приложение Windows Forms с именем DemoCalculatorTest.
  2. В Обозревателе решений щелкните правой кнопкой мыши проект DemoCalculatorTest и выберите Добавить>Ссылка на проект, чтобы открыть диалоговое окно Диспетчер ссылок.
  3. Перейдите на вкладку Проекты и выберите проект DemoCalculatorLib, чтобы добавить ссылку на тестовый проект.
  4. В обозревателе решений щелкните правой кнопкой мыши DemoCalculatorTest и выберите пункт Назначить запускаемым проектом.
  5. В конструкторе Windows Forms увеличьте размер формы примерно до 700 x 500.

Использование элемента управления в макете формы

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

  1. На панели элементов разверните узел Компоненты DemoCalculatorLib.
  2. Перетащите элемент управления DemoCalculator с панели элементов в форму. Переместите элемент управления в левый верхний угол формы. Когда элемент управления близок к границам формы, отрезки отображаются. Линии привязки указывают расстояние свойства Padding формы и свойства Margin элемента управления. Поместите элемент управления в расположение, указанное линиями привязки. Дополнительные сведения см. в пошаговом руководстве. Упорядочение элементов управления с помощью линий оснастки.
  3. Перетащите элемент управления Button с панели элементов и поместите его в форму.
  4. Перемещайте элемент управления Button по элементу управления DemoCalculator, чтобы определить, где отображаются линии привязки. Вы можете точно и легко выровнять элементы управления с помощью этой функции. По завершении удалите элемент управления Button .
  5. Щелкните правой кнопкой мыши элемент управления DemoCalculator и выберите пункт Свойства.
  6. Замените значение свойства Dock на Fill .
  7. Выберите форму, а затем разверните узел свойства Padding . Замените значение Все на 20. Размер элемента управления DemoCalculator уменьшится в соответствии с новым значением формы Padding .
  8. Измените размер формы, перетаскивая различные маркеры изменения размера в разные положения. Обратите внимание на то, как размер элемента управления DemoCalculator пропорционально изменяется.

Следующие шаги

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

См. также

  • Элементы управления Windows Forms
  • Специальные возможности для элементов управления в Windows Forms
  • Публикация с помощью ClickOnce

Как открыть новое окно Windows Forms

ivablog.ru

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

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

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

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

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

YourFormName newForm = new YourFormName();

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

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

YourFormName newForm = new YourFormName(parameter1, parameter2);

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

Шаг 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)

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *