Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2013, 18:04   #1
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию свойство visible для форм

Здравствуйте. возникла проблема с видимостью форм. имеется 2 формы. допустим нажимаю на первой (главной) форме кнопку и открывается вторая форма
Код:
private void button2_Click(object sender, EventArgs e)
        {
                Form2 form2 = new Form2();
                form2.Show();
                this.Visible = false;
        }
первая форма скрылась, отображается только вторая. все нормально. а как сделать чтобы при нажатии на кнопку отмена свойство visible первой формы стало равно true? во второй форме пытался прописать
Код:
Form1 form1 = new Form1();
                form1.Show();
но так создается новая форма. действие должно совершаться как при нажатии на кнопку отмена, так и при нажатии красного крестика в правом верхнем углу программы.
alex(21) вне форума Ответить с цитированием
Старый 25.11.2013, 21:02   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Есть 2 варианта.
1. Забыть про идею скрытия основной формы и просто вызывать form2.ShowModal(); - форма 2 будет в модальном режиме отрыта, а основная - будет недоступна пользователю. больше ничего не надо. (можно конечно и модифицировать код, чтобы форма всё же скрывалась - до showmodal её скрыть а после showmodal - обратно,т.к. showmodal выполняется по сути с "остановкой" вызвавшего кода)
2. сделать у класса form2 поле для form1 и в это поле записать ссылку на форму1 и где надо потом её показать обратно:
Код:
Form2 form2 = new Form2();
form2.Show();
form2.form1holder = this; // объявлено как public Form1 form1holder;
this.Visible = false;
...
form1holder.Visible = true; // когда надо покажем обратно
phomm вне форума Ответить с цитированием
Старый 25.11.2013, 22:49   #3
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

phomm ,спасибо большое. работает

Последний раз редактировалось alex(21); 25.11.2013 в 22:55. Причина: Нашел ответ на вопрос :)
alex(21) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Свойство для DBGrid (Delphi) Alexx_Pol Помощь студентам 4 16.05.2013 19:45
проветрить для матрицы свойство ортогональности. Prin53 Паскаль, Turbo Pascal, PascalABC.NET 1 01.03.2012 23:51
Установить свойство .FormulaHidden для ячейки tae1980 Microsoft Office Excel 2 09.01.2012 22:27
Вопрос про Свойство Visible и про иконки в imagelist Kappi4 Компоненты Delphi 2 21.05.2010 13:10
свойство Visible Delphi Var17 Win Api 1 08.10.2008 11:31