71 / 71 / 23
Регистрация: 02.02.2012
Сообщений: 309
|
|
1 | |
Определить запущена ли форма с другой формы06.12.2013, 14:43. Показов 3786. Ответов 6
Метки нет (Все метки)
День добрый!
Есть главная форма, с нее можно запустить другую форму - Mdi Контейнер(пусть будет Mdiформа) , в которой можно производить действия с некими объектами. На главной же форме, находится список этих объектов. При двойном клике на объекте мне нужно либо открыть Mdiформу и в нее передать объект для работы, либо просто в уже открытую Mdiформу передать еще один объект. Вопрос: Как это реализовать? Первоначально я сделал так: 1. На главной форме определил переменную типа Mdiформа. 2. Если переменная нулл, то я создаю Mdiформу, а в переменную подсовываю ссылку на вновь созданную форму. 3. Если не нулл то работаю с переменной. Все работает, пока в приложении открытую Mdiформу не закроют, в этом случае происходит ошибка при клике на объекты. Я понимаю, что дело в том, что Mdiформы уже нет, а ссылка на нее в главной форме осталась и она не рабочая. Как я понимаю, мне нужно на Mdiформе создать событие по ее закрытию и на это событие подписать главное окно, которое при этом событии будет обнулять свою переменную. Верно? НО у меня главный вопрос: А можно это же реализовать как то более просто? Может быть можно как то отследить с главного окна запущена ли форма определенного типа и получить на нее ссылку, или еще что?
0
|
06.12.2013, 14:43 | |
Ответы с готовыми решениями:
6
Добавление записи в Listview(1 форма) через Диалоговое окно(3 форма) другой формы (2 форма) "Родительская форма" или как узнать с какой формы была запущена конкретная Открытие одной формы внутри другой формы (подчиненная форма) Форма не видит переменную из другой формы |
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
06.12.2013, 15:13 | 2 |
Верно.
Это ты называешь просто? Самый простой метод ты описал, вот его и используй
1
|
71 / 71 / 23
Регистрация: 02.02.2012
Сообщений: 309
|
|
06.12.2013, 16:02 [ТС] | 3 |
Спасибо)
0
|
138 / 137 / 42
Регистрация: 26.10.2012
Сообщений: 443
|
|
06.12.2013, 16:37 | 4 |
Remmor, Может пригодиться... Я в своих проектах при создании дочерних форм, сначала проверяю, есть ли среди созданных форм, такая же по заголовку формы. Т.е, у меня есть справочники в проекте, следовательно заголовок всегда одинаковый: "Справочник: Клиенты" например. Собственно перед созданием проверяю, есть форма с таким заголовком или нет, если есть, просто ее активирую, если нет создаю новую.
0
|
71 / 71 / 23
Регистрация: 02.02.2012
Сообщений: 309
|
|
06.12.2013, 17:43 [ТС] | 5 |
Честно говоря, я не совсем понял о каких справочниках речь? Какая то переменная на главной форме, в которой записываются заголовки форм? И если да, то как они редактируется, когда дочерняя форма закрывается?
0
|
138 / 137 / 42
Регистрация: 26.10.2012
Сообщений: 443
|
||||||
06.12.2013, 21:21 | 6 | |||||
Мой проект - клиентская база данных организации с функционалом бронирования, оплат, предоставления услуг клиентам. Для примера, если у пользователя уже открыт список клиентов, то 2й список ему не нужен.
Вот такая проверка при активации дочерней формы:
1
|
71 / 71 / 23
Регистрация: 02.02.2012
Сообщений: 309
|
|
07.12.2013, 05:23 [ТС] | 7 |
А это уже когда работаешь с Mdi работаешь, спасибо за идею.
0
|
07.12.2013, 05:23 | |
07.12.2013, 05:23 | |
Помогаю со студенческими работами здесь
7
Как определить расположение одной формы из другой формы? Исчезает главная форма при активации из ее обработчика OnShow другой формы в модальном режиме Открыть ссылку сразу, после того, как была запущена форма Определить из какой формы списка вызвана форма(УП) Проверить в процедуре запущена ли она из другой сессии Как перенести значения из одного компонента одной формы в другой компонент другой формы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |