Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Несколько форм, передача управления 
:(
    Опции темы
Lamak
Дата 19.3.2006, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: нет
Всего: 7



Есть Form1, он открывается при запуске программы.
Потом в зависимоти от того что мы в ней вводим,она вызывает Form2 или Form3.
Я их вызываю так
Код


Form frm= new Form2();
frm.Show();


Но я не знаю как реализовать:
чтобы после вызова одной из форм(Form2 или Form3) произошло что-то вроде это-го Form1.Dispose(true),
а пользователь продолжал работать с одной из вызванх форм.

--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
mr.DUDA
Дата 19.3.2006, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Можно сделать что-то вроде FormManager-а, который управляет открытием-закрытием форм.


--------------------
user posted image
PM MAIL WWW   Вверх
Wanderer2019
Дата 19.3.2006, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



вопрос как я понял состоит в отгрузке Form1 после перехода в Form2 . т.е. чтобы целиком открузилась, а не в фоне весела.
PM ICQ MSN   Вверх
alir
Дата 20.3.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 383
Регистрация: 19.3.2005

Репутация: 2
Всего: 4



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

Lamak
Для решения данной проблемы можно сделать так:
Код

private void button1_Click(object sender, EventArgs e)
        {
            Visible = false;
            Form fr2 = new Form();
            fr2.Show();

        }


PM MAIL ICQ   Вверх
Exception
Дата 20.3.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



А создать класс, управляющий показом форм, религия не позволяет smile ? Так было бы грамотнее и с точки зрения дизайна приложения.
PM   Вверх
Lamak
Дата 20.3.2006, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: нет
Всего: 7



Wanderer2019
Цитата

вопрос как я понял состоит в отгрузке Form1 после перехода в Form2 . т.е. чтобы целиком открузилась, а не в фоне весела.


Да именно в этом!
Wanderer2019,
Добавлено @ 18:15

Цитата

FormManager-а, который управляет открытием-закрытием форм.



Цитата

класс, управляющий показом форм


Попробую!
Но если можно обьясните пожалуйста как он должен работать(в смысле интерфейс класса).
Цитата


религия не позволяет  ?

Я неверующий и мало того злобный атеист smile !
--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
VisualProgrammerNET
Дата 21.3.2006, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Что-то не пойму. Если Form1 - содержит метод Main() (вроде как), и если вызвать её Dispose() разве приложение не закроется? smile


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
Lamak
Дата 21.3.2006, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: нет
Всего: 7



VisualProgrammerNET,
в этом то и проблема что закроется , а надо чтобы продолжало работаь с одной из форм( в зависимости какая создалась Form2 или Form3)

Вот как это реализовать?
Добавлено @ 01:30
Хорошо , а если я буду использоать Visible
Цитата

Код


 private void button1_Click(object sender, EventArgs e)
        {
            Visible = false;
            Form fr2 = new Form();
            fr2.Show();

        }
 

,то как мне из Form1 узнать что закрылась fr2 и самой закрыться?


--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
Wanderer2019
Дата 21.3.2006, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



передавай Form1 в конструктор Form2. И на событие Form2.closed
запускай form1.close().
PM ICQ MSN   Вверх
Exception
Дата 21.3.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Тебе вроде же сказали:
Цитата(mr.DUDA @ 19.3.2006, 21:48 Найти цитируемый пост)
Можно сделать что-то вроде FormManager-а, который управляет открытием-закрытием форм.

Цитата(Exception @ 20.3.2006, 15:42 Найти цитируемый пост)
А создать класс, управляющий показом форм, религия не позволяет smile ? Так было бы грамотнее и с точки зрения дизайна приложения.


Цитата(Lamak @ 20.3.2006, 19:04 Найти цитируемый пост)

Попробую!
Но если можно обьясните пожалуйста как он должен работать(в смысле интерфейс класса).

Как угодно - это твоё дело smile . Просто он будет классом с Main.
PM   Вверх
krb
Дата 29.11.2008, 02:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 25.5.2008

Репутация: нет
Всего: -3



У меня вопрос.
Есть две формы.Первая форма с гридом.Как сделать так,чтобы при добавлении нового значения в грид,на второй форме при этом создавались чекбоксы со значением добавленным в грид. 
--------------------
  
PM MAIL WWW ICQ   Вверх
EgoBrain
Дата 30.11.2008, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Цитата(alir @ 20.3.2006,  12:00)
А для первой формы такого объекта нет, так как мы сами работаем в классе этой формы.

А что мешает создать такой объект и работать с ним?

Lamak разместите входную точку программы в другом-неForm классе (не Form1), и запускайте из него Form1 и работайте со всеми формами как угодно (удаляйте/создавайте).
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.