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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2012, 15:28   #1
Snake22
Пользователь
 
Регистрация: 06.01.2011
Сообщений: 22
По умолчанию отобразить Form2

подскажите как нормально сделать отображение второй формы?
форму добалял так - Проект-Доб.форму Windows.

раньше работал в дельфи/вб6.
там вторая форма вызывалась просто Form2.show

тут же не работало,нагуглил что это делается так
Form2 fr2 = new Form2();
fr2.Show();

но проблема в том что при выполнении этой процедурки каждый раз создаётся новая форма с,так сказать,скелетом первичной формы.
ну и еще если несколько раз нажать то создается несколько копий формы. а надо чтоб как в дельфи и вб , каждый раз тормошить одну и туже форму
Snake22 вне форума Ответить с цитированием
Старый 08.06.2012, 15:43   #2
ProX_Alex
Пользователь
 
Регистрация: 06.04.2012
Сообщений: 29
По умолчанию

Создай поле класса Form2 f;

в конструкторе Form1:
f = new Form2;

на баттонклик вешаешь
f.ShowDialog();

думаю это тебе поможет.
ProX_Alex вне форума Ответить с цитированием
Старый 08.06.2012, 16:24   #3
Snake22
Пользователь
 
Регистрация: 06.01.2011
Сообщений: 22
По умолчанию

showdialog это типа модальное окно? не, не пойдет,надо чтоб при этом главная форма была доступна

хмм кажется получилось.
сдела как написано,но вместо ShowDialog обычный .Show()
и на событии формы2 OnClosing поставил e.cancel=true; this.hide теперь форма как дельфи показывается)

Последний раз редактировалось Stilet; 09.06.2012 в 22:19.
Snake22 вне форума Ответить с цитированием
Старый 09.06.2012, 12:07   #4
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

Код:
 Form2 frm2= new Form2();

            foreach (Form f in Application.OpenForms)
            
            if (f.Name=="Form2")
            {
                MessageBox.Show("Уже открыта");
                    return;
            }                
            
            frm2.Show();
wm_leviathan вне форума Ответить с цитированием
Старый 09.06.2012, 16:53   #5
mrMeerkat
Следопыт
Форумчанин
 
Аватар для mrMeerkat
 
Регистрация: 26.04.2012
Сообщений: 350
По умолчанию

Цитата:
Сообщение от Snake22 Посмотреть сообщение
хмм кажется получилось.и на событии формы2 OnClosing поставил e.cancel=true; this.hide теперь форма как дельфи показывается)
Так кажется или получилось?
(Вы еще в бейсике "End" поставьте среди кода, чтоб убить все процессы связанные с программой)
Насчет шарпа тоже хотелось бы, чтоб вы озвучили что именно не получается.
С Баша:Быть ленивым, глупым, жадным, да и просто редкостным гандоном и мудаком по жизни номально, а вот если ты матом ругаешься-то это да, ужасно и достойно общественного порицания.
mrMeerkat вне форума Ответить с цитированием
Старый 09.06.2012, 21:49   #6
Snake22
Пользователь
 
Регистрация: 06.01.2011
Сообщений: 22
По умолчанию

Цитата:
Сообщение от mrMeerkat Посмотреть сообщение
Так кажется или получилось?
да получилось ,спасибо
Snake22 вне форума Ответить с цитированием
Старый 10.06.2012, 09:04   #7
offname
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 35
По умолчанию

using (Form2 frm2 = new Form2() )
{
frm2.ShowDialog();
}
offname вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Form1 и Form2 Ko$ Общие вопросы Delphi 8 21.10.2011 09:37
Не открывается Form2 kta87 Помощь студентам 5 09.03.2010 20:50
загрузка Form2 Cpluser Общие вопросы .NET 2 25.01.2010 16:16
Закрыть Form2 Casper-SC Общие вопросы .NET 9 25.12.2009 20:36
then Form2.Show; beegl Общие вопросы Delphi 24 24.07.2008 09:53