Способы открытия формы в VB.net
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Способы открытия формы в VB.net Expand / Collapse
Автор
Сообщение
09.10.2003 19:14
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 05.11.2004 14:41
Сообщ.: 16, Visits: 177
Для того, чтобы вывести на екран форму я всегда пользовался сочетанием операторов типа
Dim NewForm As New Form2()
NewForm.ShowDialog() ' или .Show()
т.е. как бы создавал экземпляр формы и выводил его на экран.

Недавно коллега (когда-то якобы активно программировавший на VB.net)мне сказал, что это "идеологически" неправильно, а следует объявлять все формы, которые хочешь открыть из текущей в начале описания класса формы с помощью ключевого слова Public (как точно коллега уже не помнит) а потом в нужном месте обрашаться к открываемой форме по имени - типа
Form2.ShowDialog()

Не подскажет ли уважаемое общество, прав ли мой коллега и если прав, то как правильно оформить описание и где его поместить
Сообщ. #797237
09.10.2003 20:37
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 22.03.2006 9:02
Сообщ.: 81, Visits: 892
А он (коллега) это чем-нибудь мотивировал? Почему именно так а не иначе?
Вообще-то это сводится к объявлению локальных и глобалных переменных на уровне класса. Когда какую употреблять - написано во всех учебниках. И уж тем более нельзя использовать всегда один метод.
Сообщ. #797240
14.10.2003 17:15
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 15.10.2002 16:50
Сообщ.: 270, Visits: 2 971
Ну йa бы с кoллегoй не сoглaсилсйa xoтйa смoтрйa кaкaйa идеoлoгийa :)

Oбoснoщaнo длйa фoрм кoтoрие будут ГAРAНТИРOВAНO xoтйa бы рaз испoлъзoщaтъсйa щ течении времени жизни oбйектa.
Тoгдa твoй кoллегa нaвернo бoретсйa зa быстрoдействие, не трaтитъсйa времйa нa сoыдaние нoщoгo oбъектa.
Ну и ресурсы естеснo Ъцелее будутЪ :)

Инaче если фoрмa испoлнйaетсйa не гaрaнтирoщaнo
мне егo пoзицийa не пoнйaтнa

вoзмoжнo oн имел в виду чтo тo врoде

Public Class MyClass
Public myFormChild as MyFormClass
'......
Sub CallForm
if myFormChild is Nothing then
myFormChild=new MyFormClass()
end if
myFormChild.Show()
end sub
Сообщ. #797645
14.10.2003 17:16
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 15.10.2002 16:50
Сообщ.: 270, Visits: 2 971
p.s. Sorry za oshibki, translit tut kakoj to ne sowsem obychnyj
Сообщ. #797646
16.10.2003 13:22
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 05.11.2004 14:41
Сообщ.: 16, Visits: 177
К MAMBA и AES5
спасибо за ответы !

К MAMBA и AES5 и for all
** В развитие темы **
Мотивация/объяснение моего коллеги было таково:
"методы
Show()/code], [code]Showdialog()/code] и иже с ними сами неявно создают экземпляр формы, поэтому создавать его с помощью конструкций типа [code]As New
,
=new
не следует,
ибо получается что мы создаем один лишний экземпляр" - а следует каким-то хитрым образом без этих конструкций обойтись (каким коллега не помнит, но говорит что у него получалось)
Не подскажет ли уважаемое общество, таки прав ли мой коллега или нет. И если прав, то как это сделать
Сообщ. #797835
16.10.2003 13:26
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 05.11.2004 14:41
Сообщ.: 16, Visits: 177
прошу прощения за неправильный синтаксис предыдущего сообщения

К MAMBA и AES5
спасибо за ответы !

К MAMBA и AES5 и for all
** В развитие темы **
Мотивация/объяснение моего коллеги было таково:
"методы Show(), Showdialog() и иже с ними сами неявно создают экземпляр формы, поэтому создавать его с помощью конструкций типа
As New, =new не следует, ибо получается что мы создаем один лишний экземпляр"
- а следует каким-то хитрым образом без этих конструкций обойтись (каким коллега не помнит, но говорит что у него получалось)
Не подскажет ли уважаемое общество, таки прав ли мой коллега или нет. И если прав, то как это сделать
Сообщ. #797836
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 4:39