Страница: 1 |
Страница: 1 |
Вопрос: Помогите с формами в VB.NET
Добавлено: 05.11.10 21:18
Автор вопроса: Stone
Здравствуйте! Я недавно столкнулся с такой проблемой:
Я пишу программу и хочу, чтобы переход между формами осуществлялся как в инсталлерах (по кнопке "далее") или как в Nero (тоже кнопка "вперед").
Таким образом, хотелось бы, чтобы формы так сменяли друг друга и в любой момент можно было вернуться назад. Подскажите, плиз как это реализовать на Visual Basic.NET 2005.
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Alex
Вопросов: 7
Ответов: 73
Профиль | | #1
Добавлено: 05.11.10 22:57
Если ты хочешь делать все формами, то можно сделать таким сценарием:
Форма должна иметь 2 кнопки "Назад" и "Вперед". Кнопка "Вперед" скрывает текущую форму и показывает следующую. Например:
Номер ответа: 2
Автор ответа:
chialexus
ICQ: 321922
Вопросов: 3
Ответов: 53
Web-сайт:
Профиль | | #2
Добавлено: 06.11.10 10:46
Можно использовать компонент Frame.
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 06.11.10 11:10
используй одну форму, меняй на ней Panel'и с элементами.
Номер ответа: 4
Автор ответа:
Stone
Вопросов: 1
Ответов: 2
Профиль | | #4
Добавлено: 06.11.10 12:15
Me.Hide()
Form3.Show()
Спасибо, я так и думал, только писал
Номер ответа: 5
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #5
Добавлено: 06.11.10 14:10
говорю же, правильно использовать одну форму со сменными панелями. зачем тебе 10 форм с 20 одинаковыми кнопками Next и Back ? да еще и с кучей кода в каждой для показа следующей\аредыдущей. это же онанизм, причем какой нибудь ржавой расческой -_-
Номер ответа: 6
Автор ответа:
Stone
Вопросов: 1
Ответов: 2
Профиль | | #6
Добавлено: 09.11.10 22:33
А как реализовать эти самые панели?
Номер ответа: 7
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #7
Добавлено: 09.11.10 23:36
Я те щас открою великую тайну.. в NET ЕСТЬ НАСЛЕДОВАНИЕ!
Все это реализуется в базовой форме(включая 2 кнопки и алгоритм перехода) а все остальные от нее наследуются.. + класс для хранения данных на каждом шаге мастера и ВСЕ! В наследниках только свой набор контролов,валидация введенных данных и заполнение того класса хранения данных который создается однажды при старте мастера..
Номер ответа: 8
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #8
Добавлено: 10.11.10 00:06
да зачем наследники. проще уж панелей понарисовать в одном месте и делать BringToTop. проще уж чем "класс хранения данных на каждом шаге"
Номер ответа: 9
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #9
Добавлено: 10.11.10 00:49
Желаешь провести эксперимент? Делаем мастера на 10 шагов.. в каждом шаге 5-8 контролов для данных (задание обсуждаемо).. Ты реализуешь панелями на 1 форме, я наследованием.. Смотрим и оцениваем количесвто,качество и чистоту кода..
Номер ответа: 10
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #10
Добавлено: 10.11.10 08:23
не желаю, ибо лень. представляю, что ты примерно выставишь за "качество и чистоту" - наличие одного и того же кода, что и у меня, но разбитого на десяток файлов-модулей, либо же будут в одном, но все равно по классам. если очень нужно будет таки ОТДЕЛЯТЬ коды контрлов одной панели от другой, всегда можно будет использовать #Region или просто поставить лишний разрыв строки между хандлерами -_-
Номер ответа: 11
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #11
Добавлено: 10.11.10 11:23
Я так и думал..