Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/86: Рейтинг темы: голосов - 86, средняя оценка - 4.84
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303

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

05.06.2012, 09:44. Показов 16559. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите разобратся:
1) У меня есть 4 формы. Как запрограммировать кнопку что бы при нажатии на нее, текущая форма закрывалась и появлялась следующая ? Как, например, при нажатии кнопки "Далее" когда инстайлим что-то. А так же чтоб с предыдущей формы передавалась переменная в следующую
2) А так же как выводить окошко поверх уже существующего, что бы оно не закрывалось. Например окошко об ошибке или "Справка", что бы оно было поверх основного.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.06.2012, 09:44
Ответы с готовыми решениями:

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

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

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

7
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
05.06.2012, 11:52
Цитата Сообщение от mikh Посмотреть сообщение
У меня есть 4 формы. Как запрограммировать кнопку что бы при нажатии на нее, текущая форма закрывалась и появлялась следующая ? Как, например, при нажатии кнопки "Далее" когда инстайлим что-то.
Похоже на создание мастера
Мастер настройки
Создание мастера в Visual Studio 2008
Цитата Сообщение от mikh Посмотреть сообщение
А так же чтоб с предыдущей формы передавалась переменная в следующую
Ответы на 7 самых частых вопросов по WinForms
Цитата Сообщение от mikh Посмотреть сообщение
окошко об ошибке
MessageBox
Цитата Сообщение от mikh Посмотреть сообщение
выводить окошко поверх уже существующего, что бы оно не закрывалось
метод Form.ShowDialog(предпочтительнее) или свойство Form.TopMost
1
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
05.06.2012, 16:25  [ТС]
Сделал похожее на то что мне надо с помощью Show и Hide.
C#
1
2
3
4
5
6
7
        
private void button1_Click(object sender, EventArgs e)
        {
            this.Hide();
            Form2 f2 = new Form2();
            f2.Show();
        }
но если я нажимаю кнопку "Далее" то новая форма вылазит чуть правее и ниже предыдущей, и следуюющяя еще ниже и правее и т.д.
А если сделать кновку "Назад" из Form2 в Form1, то Form1 открываеться в левом верхнем углу экрана.
Как их на одном уровне открывать ?

Добавлено через 4 минуты
Попробую создать мастер по вашему примеру.

Добавлено через 1 час 46 минут
выдает ошибку
'WindowsFormsApplication1.Form7.Dispose( bool)': no suitable method found to override

Добавлено через 2 часа 9 минут
Ошибку уже не выдает.
Но я сейчас себе просто мозг сломаю!!!
Не хочет переключатся между панелями!!!
Не пойму как эти слои(панели) должны быть построены чтоб между ними нормально переключалось?
Просто чуть сдвинул границу панели заработало, до этого тупо не переключало на следующий слой, как буд то его нету.
0
11 / 11 / 2
Регистрация: 29.05.2012
Сообщений: 51
05.06.2012, 16:29
никак панели не надо строить, просто лежат одна поверх другой. Смотрите св-во Visible у панели, которая должна быть наверху + размеры. BringToFront не забываем
0
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
05.06.2012, 16:47  [ТС]
Скорее всего у меня не выводило следующий слой так как он шел не в том порядке, мне надо было выводить слои 1,2,3 а они лежали 3,2,1 (3 сверху был). Поставив при событии загрузки формы panel1.BringToFront(); не помогло (не пойму почему). В общем вручную расположил слои в правильном порядке и на каждом клацнул "Bring To Front".

Ладно, вроде работает, трогать пока не буду.
Но осталась еще одна проблемма.
У меня вместо 4х форм осталось 2. есть первая небольшая форма, на ней кнопка, которая открывает вторую. Вторая форма открывается с небольшим смещением вниз и вправо относительно первой, когда я проклацал все "Далее" на второй форме возвращаюсь опять на первую. и так по кругу каждый раз новая форма открывается со смещением пока не дойдет до низа экрана, потом перескакивает в верхний левый угол и заново ... это можно как-то решить?
Или же мне сделать первую форму как еще один слой в форме2, чтоб оно все крутилось в одной форме?
подскажите
0
11 / 11 / 2
Регистрация: 29.05.2012
Сообщений: 51
05.06.2012, 17:24
Form.StartPosition
0
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
05.06.2012, 17:52  [ТС]
а есть что-то типа текущей позиции?
допустим я передвину форму, по каким-то причинам, и хочу что бы они появлялист там где я передвинул. Можно бы взять значение текущей позиции и передавать его по кругу?
0
11 / 11 / 2
Регистрация: 29.05.2012
Сообщений: 51
05.06.2012, 17:56
Цитата Сообщение от mikh Посмотреть сообщение
а есть что-то типа текущей позиции?
допустим я передвину форму, по каким-то причинам, и хочу что бы они появлялист там где я передвинул. Можно бы взять значение текущей позиции и передавать его по кругу?
нет. Либо хранить в статической переменной, либо писать в файл и потом загружать данные
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.06.2012, 17:56
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru