| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Восстановление формы |
| Автор: PashaSem 14.2.2007, 11:28 |
| Всем Привет! Подскажите как форму сделать активной. Тоесть форма уже открыта но свернута и по клику кнопки на другой форме она должна развернуться (восстановиться). Спасибо! |
| Автор: HellMasterHaiL 14.2.2007, 11:31 | ||
метод Show
таким образом можно управлять любой формой проекта (сворачивать и разворачивать) А вообще на форуме есть поиск, еще хорошие люди придумали MSDN, поковырялся бы сначала там, там точно есть примеры работы с Windows-формами! |
| Автор: PashaSem 14.2.2007, 12:03 | ||
| К сожаление данный код работает если окно еще не открыто. Но если оно уже открыто мне нужно чтоб переклчиться как клавиши Alt+Tab но на frm2
|
| Автор: HellMasterHaiL 14.2.2007, 12:50 |
| тогда метод Activate() |
| Автор: PashaSem 14.2.2007, 15:40 |
| Метод Activate() применим когда мы вызываем новую форму тоесть создаем экземпляр. А как быть если форма уже открыта . Например Form1 уже существует и она не вызывалась из Form2 Как сделать чтоб по клику мышки на кнопке на Form2 форма (Form1 )стала активной! |
| Автор: -Mikle- 14.2.2007, 16:02 | ||
если правильно тебя понял, то вынеси эту строчку за пределы услови if Ты имеешь ввиду что ссылки на Form1 в Form2 нету? То есть Form1 вызвалась из другого места (не из Form2)? Если да, то учточни еще: 1. Может ли форма Form1 иметь несколько экземпляров для всего твоего приложения? 2. Нужно ли в Form2 работать с экземпляром активированной Form1? (То есть иметь ссылку на нее) После уточнения, следующим постом будет пример Добавлено @ 16:14 И еще какой вариант примера тебе удобнее: Который должен встраивается в код формы или который существует независимо для всех форм (без дописывания кода в класс формы)? |
| Автор: PashaSem 14.2.2007, 16:24 | ||
| Есть проект при запуске вызываеться Form1 из Form1 вызываеться форма job и только один экземпляр при необходимости она разварачиваеться frm2.Activate();
Form1 может загрузиться один раз при запуске ( 1 экземпляр) В принципе работать с ней не нужно если я понял пересылать данные на Form1 я не собираюсь просто нужно сделать ее активной.(развернуть) из формы job по клику кнопки Я не могу написать frm3 = new Form1();.... так как экземпляр Form1 уже существует и должен оставаться только один. |
| Автор: -Mikle- 14.2.2007, 20:59 | ||||
Вариант встраиваемый в форму JOB
Здесь я предполагал, что форма JOB никогда не бывает Maximaized, и может имееть только два других состояния (Minimized и Normal). Добавлено @ 21:01 Забыл про исполбзование:
|
| Автор: PashaSem 16.2.2007, 16:24 |
| Я чего то не понял! Мне нужно сделать активной форму Form1 которая открываеться при запуске проекта и остаеться открытой. А сделать ее нужно активной из формы job которая открываеться по клику из формы Form1. |
| Автор: -Mikle- 19.2.2007, 16:41 |
| Ну разницы нет. Идея остается такой же. Сейчас я в командировке, и потому нет времени расписывть новый код. Когда вернусь, могу написать, если не разберещься до этого времени. |
| Автор: MrDale 19.10.2009, 12:09 | ||
Возник похожий вопрос, но у меня форма как раз может быть Maximaised. Как поступить в данном случае? |
| Автор: KelTron 19.10.2009, 18:44 |
| Перед сворачиванием запоминаешь текущее состояние, потом при разворачивании устанавливаешь его же... |
| Автор: MrDale 20.10.2009, 10:59 | ||
Можно, но неудобно, да и возможно будет изобретением велосипеда, ведь когда мы просто кликаем мышкой на свернутой форме в панели задач она успешно восстанавливает свое предыдущее состояние, значит где-то она его уже запоминает. |
| Автор: MrDale 23.10.2009, 14:24 | ||||
Решил проблему так:
Нашел ответ http://www.codenewsgroups.net/vb/t954-restore-form-prior-state.aspx Если же нужно просто узнать состояние окна до минимизации:
|