Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/686: Рейтинг темы: голосов - 686, средняя оценка - 4.54
1 / 1 / 0
Регистрация: 23.04.2009
Сообщений: 19

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

11.05.2009, 21:41. Показов 125278. Ответов 13
Метки нет (Все метки)

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

C#
1
2
3
4
5
6
7
8
static void Main()
{
 
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
 
}
есть дочерняя форма:
Form2

при нажатии в форме 2 кнопки, Form 2 должен закрыться и должен открыться Form1


Вопрос:
как это возможно реализовать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.05.2009, 21:41
Ответы с готовыми решениями:

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

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

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

13
 Аватар для RazorQ
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
11.05.2009, 21:53
Цитата Сообщение от demon752 Посмотреть сообщение
как это возможно реализовать?
C#
1
2
form2.close();
form1.show();
3
274 / 200 / 33
Регистрация: 18.04.2009
Сообщений: 177
11.05.2009, 21:54
Если у тебя MDI-приложение и родительской формой является Form1 (у неё свойство IsMdiContainer равно true), то дочерняя форма вызывается через:

C#
1
2
3
4
5
6
7
8
private void button1_Click(object sender, EventArgs e)
{
            Form2 newMDIChild = new Form2();
 
            newMDIChild.MdiParent = Form1.ActiveForm;
            
            newMDIChild.Show();
}
а закрыть Form2 после нажатия на кнопку, расположенную на Form2 через

C#
1
2
3
4
private void button2_Click(object sender, EventArgs e)
{
            Close();
}
4
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 10
27.10.2009, 00:12
А как закрыть форму без нажатия кнопки, чтобы после окончания работы, выдал сообщения, нажмите на любую кнопку, а после этого действия форма закрылась бы?
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
27.10.2009, 02:14
Ищите подходящее событие и подписывайтесь на него. Если речь о клавишах на клавиатуре посмотрите события KeyDown, KeyPress, KeyUp
1
43 / 11 / 3
Регистрация: 16.12.2008
Сообщений: 107
06.05.2011, 14:44
А как закрыть родительскую форму одновременно с дочерней? (по нажатию одной кнопки)
0
2 / 2 / 1
Регистрация: 30.11.2010
Сообщений: 52
02.06.2011, 11:56
Napster, чтоб закрыть все можно так : Application.Exit();

Добавлено через 18 секунд
помагите плиз. в форм1 нажимю кнопку и открываю форм2
C#
1
2
3
4
5
6
7
8
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2();
            //this.Hide();
            form2.ShowDialog();
            this.Close();
 
        }
в форм2 нажимаю кнопку чтоб закрыть форм1 но форм1 не закрывается, что делать?
C#
1
2
3
4
5
6
7
8
9
10
11
//это в форм2
        private void button2_Click(object sender, EventArgs e)
        {
            form1.Stop();
        }
 
//это в форм1
        public void Stop()
        {
            this.Close();
        }
в форм1 идет какое-то процесс но форм не закрывается и процесс продолжается ......
this.Close(); не помагает .... происходить но форм не закрывается ...
1
Заблокирован
02.06.2011, 13:41
C#
1
2
3
4
5
6
7
8
9
       private void button1_Click(object sender, EventArgs e)
        {  
            Form2 form2 = new Form2();           
            //вызов модальной формы. Пока диалог не обработаешь, далее вниз код не будет выполняться
            form2.ShowDialog();
            // при закрытии второй формы у тебя закроется главная и приложение закончит работу
            this.Close(); 
       
        }
0
2 / 2 / 1
Регистрация: 30.11.2010
Сообщений: 52
02.06.2011, 17:05
да я так написал чтоб закрыть первую форму после того как я закрываю вторую ..... (это так должно быть)
мне надо закрыть первую форму не закрывая воторой (через кнопки ) и я так могу остановить процесс. но this.Close(); не работает .....

Добавлено через 19 минут
мне б только остановить процесс ....
в форм1 после чего происходить
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
        public void clicked()
        {
 
            Thread.Sleep(500);
            this.Write(8);
            Thread.Sleep(500);
            this.Write(9);
            Thread.Sleep(500);
            this.Write(1);
            Thread.Sleep(500);
            this.Write(3);
            Thread.Sleep(500);
            this.Write(5);
 
            Thread.Sleep(100);
            this.Write(0);
            Thread.Sleep(100);
            this.Write(2);
            Thread.Sleep(100);
            this.Write(4);
 
            Thread.Sleep(100);
            this.Write(0);
 
            Thread.Sleep(2000);
            this.Write(18);
это как очередь он оброшается к switch и выпольняет допустим case 9: .... break; и т.д.
как я через форм2 (после нажатя кнопка) могу остановить то что происходить в clicked() в форм1 ????
0
Заблокирован
02.06.2011, 17:47
Цитата Сообщение от MZ2 Посмотреть сообщение
но this.Close(); не работает .....
C#
1
Application.Exit();
1
2 / 2 / 1
Регистрация: 30.11.2010
Сообщений: 52
02.06.2011, 18:45
Application.Exit(); закрывает все
1
мастер топоров
 Аватар для Koran
917 / 742 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
02.06.2011, 19:57
Цитата Сообщение от Napster Посмотреть сообщение
А как закрыть родительскую форму одновременно с дочерней? (по нажатию одной кнопки)
в событии закрытия дочерней формы надо накодить:
C#
1
2
3
4
5
6
        private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
            if (MessageBox.Show("Are you sure?", "Attantion", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) {
                Application.Exit();
                e.Cancel = false;
            }
        }
1
1 / 1 / 1
Регистрация: 21.10.2011
Сообщений: 78
11.05.2012, 15:51
А как же сделать так, чтобы при запуске первой формы, если условие выполняется, форма остается открытой, не запуская вторую. Иначе, вторая форма должна запуститься, а вторая должна закрыться. Как такое реализовать???
0
Sta)(
21.05.2012, 00:42
Если я тебя правлино понял то ты хотел сделать следующее!
C#
1
2
3
4
5
6
7
8
        private void button1_Click(object sender, EventArgs e)
        {
            Hide();
            Form2 f = new Form2();
            f.ShowDialog(); 
            this.Close();            
           
        }
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.05.2012, 00:42
Помогаю со студенческими работами здесь

Закрытие/открытие формы
Добрый день, подскажите пожалуйста как в родительской форме открыть дочернюю форму и сразу закрыть родительскою?

Открытие - закрытие формы
как сделать так, чтобы при открытии второй формы с первой, первая закрывалась

Открытие дополнительной формы и закрытие основной
if (MessageBox.Show("Обновление сейчас начнётся, подождите немного.", "Спасибо за терпение!", MessageBoxButtons.OKCancel,...

Открытие новой формы и закрытие предыдущей
Есть код, нужно когда пройдет операция открывалось новая форма using System; using System.Linq; using System.Collections.Generic; ...

Открытие новой формы и закрытие старой
AuthForm f = new AuthForm(); this.Close(); f.Show(); так например закрываются две ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru