Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
 Аватар для m@cChe
45 / 45 / 26
Регистрация: 15.05.2013
Сообщений: 226
Записей в блоге: 1

Переключение или переход между формами

26.08.2014, 11:59. Показов 3031. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.

Народ, знаю, что тема ОЧЕНЬ тривиальная, но все же..
Кароч, есть 3 формы:

в первой форме вызываю вторую, все ок

Обработчик на первой форме:
C#
1
2
3
4
5
private void Searcher_Click(object sender, EventArgs e)
        {
            Form2 f2= new Form2 (this);       
            f2.ShowDialog();         
        }
вторая форма:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 private readonly Form1 f1;
        public SearchPanalForm(Form1 f1)
        {
            InitializeComponent();
            _f1= f1;
        }
          /*кодэ*/
 
 private void Find_Click(object sender, EventArgs e)
 {
  _f1.Show();
 }
 
 //при нажатии на отмену во второй форме должны оказаться в первой
 private void Cancelling_Click(object sender, EventArgs e)
        {
         
                _f1.Show();
                this.Hide();            
        }
и есть третья форма, по событию которой так же вызываем вторую и при нажатии на обработчик "отмена" попадаем в первую:
C#
1
2
3
4
5
6
 rivate void xtraTabControl_Click(object sender, EventArgs e)
        {
            SearchPanalForm searchPanal = new SearchPanalForm(this);
            searchPanal.ShowDialog();
            //this.Hide();
        }
проблема в том, что при вызове второй формы из третий появляеться пустой экземпляр формы...
Помогите, чет совсем запутался.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.08.2014, 11:59
Ответы с готовыми решениями:

Переключение между формами
Есть созданные в студии Form1 и Form2, первая является главной. Чтобы открыть 2ю по нажатию кнопки, должно быть вроде бы банально ...

Переключение между формами
Есть родительская форма, в которой открываются дочерние. Надо реализовать систему по типу вкладок. "TabControl" Не решение,...

Переключение между формами
Что нужно прописать, для того, чтобы приоткрытии пользователем второй формы, закрывалась первая форма?? А, когда пользователь закрывает 2...

16
 Аватар для slenderface
9 / 9 / 5
Регистрация: 24.03.2014
Сообщений: 313
26.08.2014, 12:08
Цитата Сообщение от m@cChe Посмотреть сообщение
вторая форма:
Не уверен в ответе, но может быть так:
C#
1
2
3
4
5
6
7
 //при нажатии на отмену во второй форме должны оказаться в первой
 private void Cancelling_Click(object sender, EventArgs e)
        {
         
                _f1.Show();
                this.Clothe();           
        }
0
 Аватар для m@cChe
45 / 45 / 26
Регистрация: 15.05.2013
Сообщений: 226
Записей в блоге: 1
26.08.2014, 12:12  [ТС]
slenderface, this.Clothe(); - эт вообще, что? мб
C#
1
this.Close()
Вы хотели сказать?
0
 Аватар для slenderface
9 / 9 / 5
Регистрация: 24.03.2014
Сообщений: 313
26.08.2014, 12:15
Цитата Сообщение от m@cChe Посмотреть сообщение
this.Clothe(); - эт вообще, что? мб
Ну я просто если честно не помню как пишется. Да, скорее всего Вы правы!
Команда закрытия формы.
Просто лично я, ей все формы закрываю. Есть один минус - при закрытии не сохраненные данные из формы удаляются.
0
 Аватар для m@cChe
45 / 45 / 26
Регистрация: 15.05.2013
Сообщений: 226
Записей в блоге: 1
26.08.2014, 12:17  [ТС]
Вы вроде, не внимательно прочитали..., что я хочу сделать
0
91 / 90 / 37
Регистрация: 05.08.2011
Сообщений: 428
26.08.2014, 13:43
m@cChe, Эмм, объясните логику программы... В каком порядке вызываются формы? Вторую форму Вы скрываете, а не закрываете, она в дальнейшем используется?
0
 Аватар для m@cChe
45 / 45 / 26
Регистрация: 15.05.2013
Сообщений: 226
Записей в блоге: 1
26.08.2014, 14:00  [ТС]
ORLENOK, вообщем Form2 это модальное окно (типа поисковик) которое должно появляться из двух форм, получается:
Form3 - Form2 - Form1
| | |
Вызываем поисковик(Form2), в From2 нажимаем "отмена", должна отобразиться при нажатии
и должны попасть в Form1 на "отмена" в Form2

как то так.

Добавлено через 8 минут
блин, чертил тут, а все склеилось...

1.Form3 - вызываем поисковик(Form2)
2.Form2 - в From2 нажимаем "отмена", должна отобразиться Form1
0
74 / 62 / 26
Регистрация: 05.08.2014
Сообщений: 218
26.08.2014, 14:47
блин, ничего непонятно! Модальная форма закрывается в обоих случаях? Еще у формы есть AcceptButton и CancelButton.
0
 Аватар для m@cChe
45 / 45 / 26
Регистрация: 15.05.2013
Сообщений: 226
Записей в блоге: 1
26.08.2014, 14:54  [ТС]
TooHot, нет конечно. Ну я же описываю конкретно-то, что мне не понятно.., а именно CancelButton из Form2 вызванная Form3 - при нажатии на которую должна открыться Form1)
0
91 / 90 / 37
Регистрация: 05.08.2011
Сообщений: 428
26.08.2014, 15:41
m@cChe, А Form3 как открывает? Лучше напишите, что из каких форм можно вызвать. Типо: Из form1 вызывается form2 & form3, из form3 вызывается form1 & form2, из form2 ничего, при закрытии открывается form1. Я правильно понял?
0
 Аватар для m@cChe
45 / 45 / 26
Регистрация: 15.05.2013
Сообщений: 226
Записей в блоге: 1
26.08.2014, 15:54  [ТС]
ORLENOK, кк.
Из Form3 вызывается Form2 при нажатии CancelButton на From2 вызывается From1, из From1 вызывается Form2 из самой From2 в From1 передаются только результаты.

между From1 и From2 я спокойно переключаюсь и передаю результаты.

Цитата Сообщение от ORLENOK Посмотреть сообщение
А Form3 как открывает?
- там ещё несколько форм, туда лезть не стоит
0
91 / 90 / 37
Регистрация: 05.08.2011
Сообщений: 428
26.08.2014, 16:28
А ничего, что у Вас Form2, эммм, как бы по разному вызывается из первой и третьей формы?
Из первой:
C#
1
2
Form2 f2= new Form2 (this);       
            f2.ShowDialog();
Из третьей:
C#
1
2
SearchPanalForm searchPanal = new SearchPanalForm(this);
            searchPanal.ShowDialog();
Может быть SearchPanalForm действительно пустая форма?))
0
 Аватар для m@cChe
45 / 45 / 26
Регистрация: 15.05.2013
Сообщений: 226
Записей в блоге: 1
26.08.2014, 16:31  [ТС]
ORLENOK, не исправил просто...сорри
Цитата Сообщение от ORLENOK Посмотреть сообщение
C#
1
2
SearchPanalForm searchPanal = new SearchPanalForm(this);
* * * * * * searchPanal.ShowDialog();
так же как и из первой Form2

Цитата Сообщение от ORLENOK Посмотреть сообщение
Может быть SearchPanalForm действительно пустая форма?))
из первой же она вызывается норм.
0
91 / 90 / 37
Регистрация: 05.08.2011
Сообщений: 428
26.08.2014, 18:35
Цитата Сообщение от m@cChe Посмотреть сообщение
C#
1
2
3
4
5
public SearchPanalForm(Form1 f1)
    {
           InitializeComponent();
          _f1= f1;
    }
Попробуйте убрать _f1 = f1;
При запуске из третьей формы у Вас так же передается во вторую
C#
1
SearchPanalForm searchPanal = new SearchPanalForm(this);
А во второй происходит это:
C#
1
2
3
4
5
6
private readonly Form1 f1;
        public SearchPanalForm(Form1 f1)
        {
            InitializeComponent();
            _f1= f1;
        }
0
 Аватар для Holmes
5 / 5 / 1
Регистрация: 24.08.2014
Сообщений: 78
26.08.2014, 19:28
m@cChe,
rivate void xtraTabControl_Click(object sender, EventArgs e)
rivate замени на private.
Может быть это из-за этого.
0
 Аватар для m@cChe
45 / 45 / 26
Регистрация: 15.05.2013
Сообщений: 226
Записей в блоге: 1
26.08.2014, 20:46  [ТС]
Holmes, скопипастил криво
0
 Аватар для m@cChe
45 / 45 / 26
Регистрация: 15.05.2013
Сообщений: 226
Записей в блоге: 1
28.08.2014, 16:49  [ТС]
разобрался, тема закрыта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.08.2014, 16:49
Помогаю со студенческими работами здесь

Переключение между формами
В общем я новичок, толком не понимаю как и что делается, решил попробовать написать простую программу с гиперссылками и переключениями...

Переключение между формами
Подскажите как реализовать: при запуске открывается главное окно , там выбираем нужный пункт, наживаем ок и отрывается новая форма в старой...

Переключение между формами
Здравствуйте! Помогите разобратся: 1) У меня есть 4 формы. Как запрограммировать кнопку что бы при нажатии на нее, текущая форма...

Переключение между формами
У меня есть две формы.С первой формы переключаюсь на вторую, мне нужно сделать так, чтобы первая форма стала неактивной и чтобы при...

Переключение между дочерними формами
Как реализвать такой элемент(на рисунке)? 1. Как добавить/удалить кнопки в toolStrip при запуске/закрытие формы? 2. Как сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru