Windows forms как открыть другую форму

Открытие другой формы

Очистка данных формы, открытие другой формы
И снова здравствуйте, дорогие жители форума. Столкнулся с простой на первый взгляд проблемой, но.

Открытие и закрытие формы из другой формы
помогите пожалуйста. из формы1 открывается форма2, а при закрытии формы2 должна открываться.

Открытие одной формы из другой.
Такая тема. Вообщем есть допустим 2 формы. Объявляю в первой форме остальную как обычно. form2.

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

Я конечно припозднился )) но чтоб не создавать новую тему спрошу тут. Вот тот метод который вы советуете у меня не работает. Пишу так.

Вложения

VKPublicAdmin.zip (380.1 Кб, 46 просмотров)

Выложи свой проект

есть строчка this.Opacity = 0.01D;
удали ее и все будет работать и сам в дизайнере ничего никогда не пиши))

Добавлено через 38 секунд
у меня Visual Studio 2012

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

Бывает)) Мне самому стало интересно что не так)

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

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

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

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

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

Закрытие одной формы и открытие другой
вот код Form1 g = new Form1(); Form3 close = new.

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

Открыть вторую форму из первой кнопкой
1>c:\users\name\documents\visual studio 2012\projects\проект4\проект4\MyForm.h(1): fatal error.

Как добавить вторую форму в проект?
Здравствуйте . Мне нужно сделать программу , с двумя формами . Чтобы при нажатии на кнопку в первой.

Как добавить кнопки на вторую форму?
Всем привет!=) Начинаю знакомиться с Windows Forms. На первую форму добавляю кнопочки («Русские».

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

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

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

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

Как открыть форму проекта?
Всем знатокам доброго времени суток! Никогда не писал код в С++, а тут нашел код, который мне.

Как открыть одну форму из другой?
Нужно, что бы по вкл четбоксу открывалась Form2. Испробовал кучу способов и везде ошибки разные.

Как открыть одну форму из другой?
Здравствуйте! Создаю программу, необходимо из Формы 1, вызвать Форму 2. С этим я справился. Однако.

По нажатию кнопки открывать вторую форму
Имеется 2 формы, 1 форма что то типа авторизации, и необходимо что по нажатию кнопки воход.

Читайте также:  Windows 10 release builds

Как вызвать вторую форму с первой

Нужно реализовать всплывающее окно, создал новую Form2, нарисовал все что нужно. А как ее открыть теперь из обработчика события на Form1? Form2.Show() не работает.
Окно должно появиться внутри основного, при этом активны должны быть оба.

Добавлено через 17 минут
Ответ на мой вопрос:

Как из первой формы открыть вторую форму, внутри первой?
как из первой формы открыть вторую форму, внутри первой?

Как вызвать вторую форму
как сделать кнопку при нажатии которой будет открываться второе окно(пишу мп3 плеер и хочу сделать.

Как закрыть вторую форму из первой?
Как закрыть вторую форму из первой? создал: Vnesti Vnes = new Vnesti(); .

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

Как во второй форме получить доступ к компонентам на первой? (RichTextBox в данном случае)

Добавлено через 5 минут
Нельзя ли написать просто Form2.Show(this) ?

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

Это постоянно придется писать ((Form1)this.Owner) на другой форме? Можно как-то проще?

Добавлено через 1 минуту
Зачем писать this? Без него работает — ((Form1)Owner).richTextBox1.Text = «qrqrqwr»;

Монфрид, не люблю дельфи. Можно подробнее про то как в моем случае использовать события/делегаты?
DeathMetal, да выставил public. Так как Вы написали, работает когда форма создается из динамически, а не уже прорисована.

Помогло вот что:

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

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

Как сделать вторую форму владельцем первой?
Есть две формы — mainmenu и game. mainmenu открывает game, а сама закрывается. Как это реализовать.

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

Как нажатием кнопки на первой форме открыть для работы вторую форму?
C# Windows Forms как нажатием кнопки на 1 ой форме открыть для работы 2ою форму?т.е к примеру.

Не могу вызвать вторую форму в проекте
Создаю вторую форму, но при вызове, он просто её не видит и все. В чем дело?

Как открыть и закрыть форму из другой формы в C# (правильное решение)


C# изучаю не так давно и встала передо мной недавно задача:
— открыть Form2 при нажатии на кнопку в Form1;
— спрятать Form1;
— открыть Form1 при закрытии Form2.
На первый взгляд задача показалась элементарной, но… возникли нюансы — при закрытии приложения оно не выгружалось и в диспетчере задач мы наблюдали его работу, хотя визуально оно как бы закрылось.

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

Открываем и закрываем форму из другой формы

У нас в приложении есть две формы Form1 — главная, которая открывается сразу при запуске приложения и Form2, которую открываем по нажатию на кнопку.

Чтобы открыть Form2 нам необходим следующий код, который будет срабатывать при нажатии на кнопку:

Теперь у нас открылась Form2 и спряталась Form1. Поработав с Form2 мы её закрываем и при этом нам надо после этого отобразить Form1. Многие начинающие, включая меня начинают писать следующий код, который помещаем в событие, которое происходит после закрытия Form2:

Читайте также:  При установке windows не может найти драйвера raid

Вроде всё логично: Form2 закрылась, Form1 открылась. Однако используя этот метод, мы можем заметить, что после того как мы закрываем приложение оно продолжает висеть в памяти. Многие, не зная почему это происходит дописывают в метод «Form1_FormClosed» дописывают принудительное закрытие приложения:

Это работает, однако правильно ли это? Решать вам.

А теперь ответим на вопрос «почему приложение висит в памяти» и рассмотрим простое и правильное решение.

Первая часть кода: мы отображаем Form2 и скрываем Form1. Не закрываем, а именно скрываем, т.е. экземпляр Form1 продолжает существовать.

Закрыть Form1 вместо скрытия не получится, так как это главная форма приложения и при её закрытии мы закроем всё приложение.

Вторая часть кода: строкой «Form ifrm = new Form1();» мы создаём второй экземпляр Form1 и далее его и отображаем, а первый экземпляр Form1 продолжает жить в памяти. И когда мы закрываем приложение (Form1), то первый экземпляр при этом не закрываем он так и «сидит» в памяти, поэтому приложение не выгружается из памяти. В связи с этим многие и закрывают принудительно приложение при закрытии главной формы (Form1).

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

OpenForms — получает коллекцию открытых форм приложения. В нашем случае мы сразу обратились к главной форме приложения (OpenForms[0]).

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

Учитываем координаты форм при открытии

Представьте ситуацию. Открыта Form1 вы её перемещаете в правый верхний угол экрана. Потом нажимаете на кнопку и… Form2 открывается по центру экрана или в другом месте, но не в том месте, где была Form1. Многие улыбнуться и скажут, что в свойствах Form2 надо прописать/указать следующее «StartPosition -> CenterParent» и открывать Form2 следующим методом:

Form ifrm = new Form2();
ifrm.ShowDialog();

Это правильное решение, которое всегда будет открывать Form2 поверх Form1 и всегда по центру Form1. Однако этот код не применим, если вам надо скрывать Form1, так как Form1 не будет скрываться.

Сейчас приведу полное решение, которое позволит открывать Form1 и Form2 в той же точке, где находилась до этого форма, вызывающая другую форму. Код включает всё вышеописанное. В свойствах форм надо прописать следующее (прямо в студии выбираете эти значения):

— свойство Form1: «StartPosition -> CenterScreen»
— свойство Form2: «StartPosition -> Manual»

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

Открываем форму поверх другой формы, как модальное окно

Чтобы открыть Form2 поверх Form1, как модальное окно, не скрывая Form1, вам хватит этого кода:

В итоге Form2 будет открыта поверх Form1. В этом случае пользователь не сможет переключиться на Form1 не закрыв Form2.

Как добавить форму в проект (Windows Forms .NET) How to add a form to a project (Windows Forms .NET)

Добавьте формы в свой проект с помощью Visual Studio. Add forms to your project with Visual Studio. Если в приложении несколько форм, вы сможете выбрать начальную форму для приложения или одновременно отобразить несколько форм. When your app has multiple forms, you can choose which is the startup form for your app, and you can display multiple forms at the same time.

Читайте также:  Кнопка отключение компьютера для windows 10

Документация для Руководства по рабочему столу по .NET 5 (и .NET Core) находится в разработке. The Desktop Guide documentation for .NET 5 (and .NET Core) is under construction.

Добавление новой формы Add a new form

Добавьте новую форму в Visual Studio. Add a new form with Visual Studio.

В Visual Studio найдите панель Обозреватель проектов. In Visual Studio, find the Project Explorer pane. Щелкните проект правой кнопкой мыши и выберите Добавить > Форма (Windows Forms) . Right-click on the project and choose Add > Form (Windows Forms).

В поле Имя введите имя формы, например MyNewForm. In the Name box, type a name for your form, such as MyNewForm. Visual Studio сформирует имя по умолчанию, которое является уникальным. Можно использовать это имя. Visual Studio will provide a default and unique name that you may use.

После добавления формы Visual Studio откроет конструктор форм для этой формы. Once the form has been added, Visual Studio opens the form designer for the form.

Добавление ссылки на проект в форму Add a project reference to a form

Если у вас есть исходные файлы для формы, можно добавить форму в проект, скопировав файлы в папку проекта. If you have the source files to a form, you can add the form to your project by copying the files into the same folder as your project. Ссылки на все файлы кода в папке проекта и в дочерних папках проекта будут автоматически добавлены в проект. The project automatically references any code files that are in the same folder or child folder of your project.

Форма включает два файла с одинаковыми именами и разными расширениями: form2.cs (form2 — пример имени файла) и form2.Designer.cs. Forms are made up of two files that share the same name: form2.cs (form2 being an example of a file name) and form2.Designer.cs. Иногда присутствует файл ресурсов с тем же именем — form2.resx. Sometimes a resource file exists, sharing the same name, form2.resx. В предыдущем примере form2 представляет собой базовое имя файла. In in the previous example, form2 represents the base file name. Необходимо скопировать все связанные файлы в папку проекта. You’ll want to copy all related files to your project folder.

Кроме того, можно использовать Visual Studio для импорта файла в проект. Alternatively, you can use Visual Studio to import a file into your project. При добавлении существующего файла в проект файл копируется в папку проекта. When you add an existing file to your project, the file is copied into the same folder as your project.

В Visual Studio найдите панель Обозреватель проектов. In Visual Studio, find the Project Explorer pane. Щелкните проект правой кнопкой мыши и выберите Добавить > Существующий элемент. Right-click on the project and choose Add > Existing Item.

Перейдите в папку, содержащую файлы формы. Navigate to the folder containing your form files.

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