|
|
|
Junior Member
      
участник
Last Login: 05.11.2004 14:41
Сообщ.: 16,
Visits: 177
|
|
Для того, чтобы вывести на екран форму я всегда пользовался сочетанием операторов типа Dim NewForm As New Form2() NewForm.ShowDialog() ' или .Show() т.е. как бы создавал экземпляр формы и выводил его на экран.
Недавно коллега (когда-то якобы активно программировавший на VB.net)мне сказал, что это "идеологически" неправильно, а следует объявлять все формы, которые хочешь открыть из текущей в начале описания класса формы с помощью ключевого слова Public (как точно коллега уже не помнит) а потом в нужном месте обрашаться к открываемой форме по имени - типа Form2.ShowDialog()
Не подскажет ли уважаемое общество, прав ли мой коллега и если прав, то как правильно оформить описание и где его поместить
|
|
|
|
|
Supreme Being
      
участник
Last Login: 22.03.2006 9:02
Сообщ.: 81,
Visits: 892
|
|
А он (коллега) это чем-нибудь мотивировал? Почему именно так а не иначе? Вообще-то это сводится к объявлению локальных и глобалных переменных на уровне класса. Когда какую употреблять - написано во всех учебниках. И уж тем более нельзя использовать всегда один метод.
|
|
|
|
|
Supreme 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
|
|
|
|
|
Supreme Being
      
участник
Last Login: 15.10.2002 16:50
Сообщ.: 270,
Visits: 2 971
|
|
| p.s. Sorry za oshibki, translit tut kakoj to ne sowsem obychnyj
|
|
|
|
|
Junior 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 не следует, ибо получается что мы создаем один лишний экземпляр" - а следует каким-то хитрым образом без этих конструкций обойтись (каким коллега не помнит, но говорит что у него получалось) Не подскажет ли уважаемое общество, таки прав ли мой коллега или нет. И если прав, то как это сделать
|
|
|
|
|
Junior Member
      
участник
Last Login: 05.11.2004 14:41
Сообщ.: 16,
Visits: 177
|
|
прошу прощения за неправильный синтаксис предыдущего сообщения
К MAMBA и AES5 спасибо за ответы ! К MAMBA и AES5 и for all ** В развитие темы ** Мотивация/объяснение моего коллеги было таково: "методы Show(), Showdialog() и иже с ними сами неявно создают экземпляр формы, поэтому создавать его с помощью конструкций типа As New, =new не следует, ибо получается что мы создаем один лишний экземпляр" - а следует каким-то хитрым образом без этих конструкций обойтись (каким коллега не помнит, но говорит что у него получалось) Не подскажет ли уважаемое общество, таки прав ли мой коллега или нет. И если прав, то как это сделать
|
|
|
|