Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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 кнопки "Назад" и "Вперед". Кнопка "Вперед" скрывает текущую форму и показывает следующую. Например:
  1.  
  2. Me.Hide()
  3. Form3.Show()

Ответить

Номер ответа: 2
Автор ответа:
 chialexus



ICQ: 321922 

Вопросов: 3
Ответов: 53
 Web-сайт: chialexus.narod.ru
 Профиль | | #2
Добавлено: 06.11.10 10:46
Можно использовать компонент Frame.
  1. if ButStep=2 then
  2. Frame1.visible=false
  3. Frame2.visible=true
  4. end if

Ответить

Номер ответа: 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()



Спасибо, я так и думал, только писал
  1.  
  2. Me.Close ()
  3. Form2.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
зачем тебе 10 форм с 20 одинаковыми кнопками Next и Back ? да еще и с кучей кода в каждой для показа следующей\аредыдущей.

Я те щас открою великую тайну.. в 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
да зачем наследники. проще уж панелей понарисовать в одном месте и делать BringToTop

Желаешь провести эксперимент? Делаем мастера на 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
не желаю, ибо лень.

Я так и думал..

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам