Forma
Zaključano
Zakačeno
Ovo sto je Nemanja napisao izgledalo bi ovako ako je novi VB u pitanju i zelis da napravis instancu (kopiju) iste forme :
Dim form2 As System.Windows.Forms.Form = New Form1()
form2.Show()
ili samo :
Dim form2 As New Form1()
pa opet :
form2.Show()
poz.
Dim form2 As System.Windows.Forms.Form = New Form1()
form2.Show()
ili samo :
Dim form2 As New Form1()
pa opet :
form2.Show()
poz.
Potpis
fire, walk with me
Ima, kako da ne. Klikni na meni Project/Add Windows Form pa onda izaberi Windows Form.
Samo da znas da sledece nece moci :
Form2.Show()
Nego moze ovako :
Dim form2 As New Form2()
form2.Show()
A zasto? Pa zato sto ako otvoris Object Browser i klines na Form2 (ili kako se vec zove forma koju si dodao) videces da lepo pise :
Public Class Form2 Inherits System.Windows.Forms.Form
Znaci Form2 je klasa a ne objekt. Da bi mogao da upotrebis tu klasu moras prvo da kreiras njenu 'radnu kopiju' tj. neki objekat , jer klasa nije nesto 'opipljivo' kao objekat i sa njom se ne radi direktno.
Nemanja, tvoj komentar?
Samo da znas da sledece nece moci :
Form2.Show()
Nego moze ovako :
Dim form2 As New Form2()
form2.Show()
A zasto? Pa zato sto ako otvoris Object Browser i klines na Form2 (ili kako se vec zove forma koju si dodao) videces da lepo pise :
Public Class Form2 Inherits System.Windows.Forms.Form
Znaci Form2 je klasa a ne objekt. Da bi mogao da upotrebis tu klasu moras prvo da kreiras njenu 'radnu kopiju' tj. neki objekat , jer klasa nije nesto 'opipljivo' kao objekat i sa njom se ne radi direktno.
Nemanja, tvoj komentar?
Potpis
fire, walk with me
Da, lepo objašnjeno. Klasa može da se zamisli kao "kalup" kojim "presuješ" objekte. Korisne stvari možeš da obaviš sa objektima a ne klasama.
Izuzetak su tzv shared (u C#-u static) metodi i članovi koji pripadaju svim objektima klase, pa se može smatrati i da pripadaju klasi, a ne objektu. Primer je Main, koji je uvek shared.
Izuzetak su tzv shared (u C#-u static) metodi i članovi koji pripadaju svim objektima klase, pa se može smatrati i da pripadaju klasi, a ne objektu. Primer je Main, koji je uvek shared.
Potpis
Ma, znam ja sta su klase i objekti ali nisam znao da kada dodas novu formu u projekat VB ne kreira objekat vec to moras ti sam da uradis (kao sto rekoh na pocetku diskusije nisam radio u .NET-u ali me veoma interesuje).
Pitam se da li VB zapravo izvede klasu Form2 iz klase Form pa ti onda pravis objekat iz klase form2 umesto iz klase Form.
Pitam se da li VB zapravo izvede klasu Form2 iz klase Form pa ti onda pravis objekat iz klase form2 umesto iz klase Form.
Sam si dao odgovor. Ali ako hoces da koristis gotovu formu na koju si 'naredjao' druge objekte (dugmice, labele ...) onda ces naravno da instanciras novi objekat iz nje, odnosno iz klase Form2.
Nadm se da sam te razumeo.
Pozdrav
Nadm se da sam te razumeo.
Pozdrav
Potpis
fire, walk with me
>Pitam se da li VB zapravo izvede klasu Form2 iz klase Form pa ti onda pravis
>objekat iz klase form2 umesto iz klase Form
tacno.
Kad pogledas kod forme imas na samom pocetku
Inherits System.Windows.Forms.Form
sto znaci da nasledjuje svojstva/metode od te klase.
Upravo tako mozes i da pravis svoje kontrole.. nasledis iz npr textbox pa onda malo izmenis sta ti treba itd itd
>objekat iz klase form2 umesto iz klase Form
tacno.
Kad pogledas kod forme imas na samom pocetku
Inherits System.Windows.Forms.Form
sto znaci da nasledjuje svojstva/metode od te klase.
Upravo tako mozes i da pravis svoje kontrole.. nasledis iz npr textbox pa onda malo izmenis sta ti treba itd itd
Potpis
Commercial-Free !!!
Ne, ne postoji mogucnost za multiple inheritance.
Klasa moze da nasledjuje iz samo jedne klase (koja opet moze da nasledjuje iz jedne klase, koja opet...), ali zato moze da implementira vise interface-a.
Public class c1
Inherits c2 <- okej
Inherits c3 <- greska
End class
Klasa moze da nasledjuje iz samo jedne klase (koja opet moze da nasledjuje iz jedne klase, koja opet...), ali zato moze da implementira vise interface-a.
Public class c1
Inherits c2 <- okej
Inherits c3 <- greska
End class
Potpis
Commercial-Free !!!