Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 13.03.2018
Сообщений: 29

Перемещение между формами

13.03.2019, 12:25. Показов 1580. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте, вопрос по Show(), Hide(). Много начитался, но мне нужно реализовать следующее:
Есть формы, которые открываются из одной челноком Form1 > Form2 > Form3....
Мне нужно иметь возможность возвращаться на предыдущие формы с уже введёнными пользователем значениями и обратно (в общем чтобы значения в полях не пропадали, без new Form2() ). Также нужно будет получить в конечной форме данные из этих полей, чекбоксов и т.д.

Я реализовал это следующим образом:
В Programs записал:
C#
1
2
3
4
5
6
static class Program
    {
        public static Form2 f2;
        public static Form3 f3;
//...
     }
Затем в каждой форме:
C#
1
2
3
4
5
6
7
8
9
public Form2()
        {
            Program.f2 = this;
        } 
//=====================
public Form3()
        {
            Program.f3 = this;
        }
И затем на кнопку в Form2:
C#
1
2
3
4
5
void Button1_Click(object sender, EventArgs e)
        { 
            Hide();
            Program.f3.Show();
        }
И на кнопку в Form3:
C#
1
2
3
4
5
void ButtonBack_Click(object sender, EventArgs e)
        {
            Hide();
            Program.f2.Show();
        }
Вопрос в следующем: Нет ли здесь каких-либо подводных камней и не очень нравится видимость скрытия/открытия окна.
Пробовал через Visible - результат по видимости такой же.

Может быть есть реализация моей задачи в более удачном варианте, но я пока такового не нашел.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2019, 12:25
Ответы с готовыми решениями:

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

Связь между формами
Я не особо силен в программирование, не знаком со всеми мелочами, хочу сделать так чтоб при нажатии на ячейку DataGridView(которая...

Переход между формами
Нажатием на клавишу закрыть текущую форму(Form1) и открыть новую(Form2) private void button1_Click(object sender, EventArgs e) ...

2
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
14.03.2019, 08:08
SilverU, а почему именно формы? Можно все на одной форме сделать. просто между панелями переключаться. тот же таб контрол. Если уж очень хочется формы то делайте отдельный класс и этот экземпляр класса таскайте между формами. если не хочется таскать экземпляр класса. делайте класс со статическим переменными.
0
0 / 0 / 0
Регистрация: 13.03.2018
Сообщений: 29
14.03.2019, 10:39  [ТС]
Andreyip, согласен, всё верно, но когда начинал делать, то упёрся в формы, надо пока так сделать, а потом уже буду по Вашему совету перекручивать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.03.2019, 10:39
Помогаю со студенческими работами здесь

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

связь между формами
есть webBrowser1. Навигат (Navigate) у него должен быть такой(textBox1.Text),, но этот текст бокс должен находиться в другой форме. Какой...

Передача между формами
Есть 1 и 2 форма, на 1 форме при клике button1 открываеться форма 2 и скрывается button1, а при закрытии 2 формы на 1 форме должна...

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

Картинка между формами
Доброго времени суток! Как после закрытия формы и перед открытием второй вывести анимацию ( Вторая форма долго не открывается)? Есть ли...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru