7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352

Как сделать, чтобы Form1 не закрывалась пока не закрылись вспомогающие Form2, Form3

20.07.2012, 17:53. Показов 1720. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать, чтобы Form1 не закрывалась пока не закрылись вспомогающие Form2, Form3...???
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.07.2012, 17:53
Ответы с готовыми решениями:

Сделать так, чтобы при закрытии Form3, закрывалась и форма Form2
Есть 3 формы Из Form1 по кнопке вызывается Form2, из Form2 опять же по кнопке вызывается Form3. Как Сделать так, чтобы при закрытии ...

Сделать, чтобы form1 закрывалась, когда открывается form2
procedure TForm1.Button1Click(Sender: TObject); begin *if (edit1.Text='пользователь') and (edit2.Text='123')then * *Form2.Show * *...

Через Form1 открывают Form2 там открывается Form3 которая меняет данные в Form1. Но они не меняются
В первой форме Main по нажатию кнопки вызываю другую форму private void Button_AddVetrina(object sender, EventArgs e) { ...

15
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
20.07.2012, 21:04
как вариант
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
'Form1
Private Sub Command1_Click()
Form2.Show
Form1.Enabled = False
End Sub
 
'Form2
Private Sub Form_Unload(Cancel As Integer)
Form1.Show
Form1.Enabled = True
End Sub
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
26.07.2012, 21:42  [ТС]
Сделал так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
'Form1
Private Sub Command1_Click()
Form2.Show
Form1.Enabled = False
End Sub
 
'Form2
Private Sub Form_Unload(Cancel As Integer)
Form1.Show
Form1.Enabled = True
End Sub
На Form2 у меня listbox. По события туда вывожу время и дату.
Когда нажимаю на кнопку выбрасывается Form2 и на listbox выводиться все как надо!!!
Далее закрываю, ЗАТЕМ снова открываю Form2 и listbox пустой.
Т.е. последнее то что было не сохраняется, полностью очищается...
Получается как будто форму первый раз запустил!!!
Как с этим бороться???!!!

Добавлено через 50 минут
Можно правда сделать типа кнопки "Закрыть" на Form2:
Visual Basic
1
2
3
Private Sub Command1_Click()
Form2.Visible = False
End Sub
Тогда у нас listbox не стирается и форма не отображается. И при запуске Form2 все на месте!!!
Но как тогда сделать что если Form1 закрыл, то все формы закроются автоматически???
А то Form1 закрываешь, а остальные формы в работе???!!!
Может другие решения есть???!!!
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
26.07.2012, 21:47
Цитата Сообщение от Техник55 Посмотреть сообщение
Может другие решения есть
есть, и больше одного
только напишите задачу как можно полнее, а то тема и так уже многостраничная
0
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
26.07.2012, 21:47
Так попробуй?
Visual Basic
1
2
3
4
5
6
7
8
9
'Form1
Private Sub Command1_Click()
Form2.Show
Form1.Hide
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Visual Basic
1
2
3
4
5
6
'Form2
Private Sub Form_Unload(Cancel As Integer)
Cancel = True
Me.Hide
Form1.Show
End Sub
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
26.07.2012, 22:14  [ТС]
Все ОК.
Если не затруднит подскажи те строчки кот. сохраняют на Form2 значения когда мы ее даже закрыли???
Это хорошо что пошло, но хочется не тупо копировать, а понять. Просто этих положений нет в книгах, а ЗНАТЬ НАДО!!!
0
10 / 10 / 0
Регистрация: 28.05.2012
Сообщений: 69
26.07.2012, 22:19
Когда закрываешь hide то да.
1
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
26.07.2012, 22:27
Visual Basic
1
2
3
4
5
6
'Form2
Private Sub Form_Unload(Cancel As Integer)
Cancel = True 'не выгружаем форму
Me.Hide 'а скрываем, поэтому данные не теряются!
Form1.Show
End Sub
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
26.07.2012, 22:39  [ТС]
А чтобы при нажатии кнопки Form1 не исчезала, а просто сверху появлялась Form2???!!!
0
10 / 10 / 0
Регистрация: 28.05.2012
Сообщений: 69
26.07.2012, 22:50
тогда

Visual Basic
1
me.hide
не нужен
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
27.07.2012, 00:38  [ТС]
Цитата Сообщение от oxpannik Посмотреть сообщение
тогда

Visual Basic
1
me.hide
не нужен
Не правда если убрать, то все равно когда вызываешь Form2, то Form1 исчезает!!!!
Так что вы ошиблись!!!
0
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
27.07.2012, 06:54
Цитата Сообщение от Техник55 Посмотреть сообщение
А чтобы при нажатии кнопки Form1 не исчезала, а просто сверху появлялась Form2
Visual Basic
1
2
3
4
5
6
7
8
9
'Form1
Private Sub Command1_Click()
Form2.Show
'Form1.Hide
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Visual Basic
1
2
3
4
5
6
'Form2
Private Sub Form_Unload(Cancel As Integer)
Cancel = True
Form2.Hide
'Form1.Show
End Sub
Неужели неочевидно?
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
27.07.2012, 19:01  [ТС]
Еще кое что: Если я открываю Form2, а затем закрываю у меня автоматически сворачивается Form1.
И для работы дальше нужно разворачивать...
Это не принципиально, но хочется избавиться, может свойства где нибудь поправить надо???

Добавлено через 4 часа 30 минут
Видимо это не поправимо...
0
10 / 10 / 0
Регистрация: 28.05.2012
Сообщений: 69
28.07.2012, 00:58
Покажите что у вас в итоге вышло.
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
28.07.2012, 08:16  [ТС]
Visual Basic
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
27
28
29
30
31
'Form1
Private Sub mnuНачальник_Click()
Form3.Show
Form1.Enabled = False
End Sub
 
Private Sub Command1_Click()
Form2.Show
Form1.Enabled = False
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Private Sub mnuИнженер_Click()
Form4.Show
Form1.Enabled = False
End Sub
Private Sub mnuУПУ_Click()
Form5.Show
Form1.Enabled = False
End Sub
 
'Form2
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = True
Form2.Hide
'Form1.Show
Form1.Enabled = True
End Sub
' И так далее для других форм 3,4,5
0
10 / 10 / 0
Регистрация: 28.05.2012
Сообщений: 69
28.07.2012, 12:15
В ваших иерархиях форм я запутался и не пойму где та или иная кнопка, тут всё в ваших руках, совет:
Пробуйте пошаговый режим, в вашем случае он как нельзя кстати.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.07.2012, 12:15
Помогаю со студенческими работами здесь

Как сделать так чтобы Form2 появлялась ровно в том же месте где и Form1
Эту тему читал https://www.cyberforum.ru/windows-forms/thread248400.html Но ответы не помогли. Форма остается на том же месте. И что...

Как сделать так чтобы при запуске программы первой открывалась Form2, а не Form1
Как сделать так чтобы при запуске программы первой открывалась Form2, а не Form1

Сделать так чтобы Form2 появлялась ровно в том же месте где и Form1
{ Form2 form = new Form2(); form.Show(); } как сделать так чтобы Form2 появлялась ровно в том же месте где и Form1?...

Как сделать доступ к переменной из Form2 в Form1?
Например: В Form1 есть 2 кнопки ( Input и Change ); 1.Создаём Form2; При нажатии на Input открывается Form2 в которой есть один...

Как по закрытии Form2 сделать определенное действие в Form1
Здравствуйте! Помогите пожалуйста, я новичок в ) Столкнулся с проблемой и не смог найти ответа на форумах. В кратце- есть 2 формы....


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru