|
| [.NET] meget meget let spørgsmål Fra : peter hansen |
Dato : 24-07-03 18:38 |
|
okei - jeg er lidt nybegynder i .NET og et simpelt spørgsmål har trængt sig
på
i gamle VB6 dage kunne man fx navngive en label på en anden form ved fx at
skrive fra form1: form2.label1.caption = "Peter"
nu dur 'form2'-klassen ikke mere - hvordan klare man lige det så jeg fx ved
at trykke på en knap på form1 kan få en label på form2 til at skifte
indhold?
hilsen fra Peter
| |
mhabio (24-07-2003)
| Kommentar Fra : mhabio |
Dato : 24-07-03 20:13 |
|
En af ideerne i VB.Net er at skille elementer fra hinanden, altså mere OO.
Derfor skal du lave en public sub eller property på form2 som så kaldes fra
form1 fx. når der trykkes på en knap på denne form.
Dan Appleman har skrevet en bog: "Moving to VB.Net" som er god hvis du
kender godt til VB6.0
Mikkel
| |
peter hansen (27-07-2003)
| Kommentar Fra : peter hansen |
Dato : 27-07-03 20:23 |
|
"mhabio" <mhaNoSpamThnx@imsb.au.dk> wrote in message
news:3f202e53$0$22613$ba624c82@nntp04.dk.telia.net...
> En af ideerne i VB.Net er at skille elementer fra hinanden, altså mere OO.
> Derfor skal du lave en public sub eller property på form2 som så kaldes
fra
> form1 fx. når der trykkes på en knap på denne form.
>
> Dan Appleman har skrevet en bog: "Moving to VB.Net" som er god hvis du
> kender godt til VB6.0
>
> Mikkel
>
Hehe... du henviser til en bog og jeg skal bare bruge en simpel kildekode :D
hehe... har kunnet engang og der var det noget med at man skulle dimme fx
dim frm1 as new Form1
så kunne man fra Form2 skrive frm1.label1.text = "Peter"
selvfølgelig kan jeg ikke får overstående til at virke men det var noget i
den retning... gider du lige læse højt fra din bog ?
hilsen fra Peter
| |
mhabio (28-07-2003)
| Kommentar Fra : mhabio |
Dato : 28-07-03 17:50 |
|
>Hehe... du henviser til en bog og jeg skal bare bruge en simpel kildekode
:D
>hehe... har kunnet engang og der var det noget med at man skulle dimme fx
>dim frm1 as new Form1
>så kunne man fra Form2 skrive frm1.label1.text =
Peter" -->>frm1.label1.Caption = "Peter" i VB6.0
Grunden til at man ikke kan gøre dette i VB.net er at det giver noget rodet
kode, der er umuligt at genbruge. Forestil dig at du skal genbruge Form2
uden Form1.....så skal du til at lave en ny version of Form2 fordi den
indeholder en ugyldig ref til Form1.
Derfor i Form1
Public Sub SetCaption(NewCaption as String)
label1.Text = NewCaption
End Sub
kald denne function from form2
>selvfølgelig kan jeg ikke får overstående til at virke men det var noget i
>den retning... gider du lige læse højt fra din bog ?
Bogen gennemgår ikke ovenstående i form af kode, men forklarer hvad der er
forskellen mellem VB6 og VB.net og hvorfor der er strammet lidt op.
hilsen fra Peter
| |
peter hansen (01-08-2003)
| Kommentar Fra : peter hansen |
Dato : 01-08-03 22:04 |
|
Eiiih... jamen jeg vil gøre det på min måde og jeg ved det kan lade sig gøre
:D ved at dimme, private eller publice i et eller andet sted i form2...
hilsen fra peter
"mhabio" <mhaNoSpamThnx@imsb.au.dk> wrote in message
news:3f2552b3$0$7825$ba624c82@nntp03.dk.telia.net...
> >Hehe... du henviser til en bog og jeg skal bare bruge en simpel kildekode
> :D
> >hehe... har kunnet engang og der var det noget med at man skulle dimme fx
>
> >dim frm1 as new Form1
>
> >så kunne man fra Form2 skrive frm1.label1.text =
> Peter" -->>frm1.label1.Caption = "Peter" i VB6.0
>
> Grunden til at man ikke kan gøre dette i VB.net er at det giver noget
rodet
> kode, der er umuligt at genbruge. Forestil dig at du skal genbruge Form2
> uden Form1.....så skal du til at lave en ny version of Form2 fordi den
> indeholder en ugyldig ref til Form1.
>
> Derfor i Form1
>
> Public Sub SetCaption(NewCaption as String)
> label1.Text = NewCaption
> End Sub
>
> kald denne function from form2
>
> >selvfølgelig kan jeg ikke får overstående til at virke men det var noget
i
> >den retning... gider du lige læse højt fra din bog ?
> Bogen gennemgår ikke ovenstående i form af kode, men forklarer hvad der er
> forskellen mellem VB6 og VB.net og hvorfor der er strammet lidt op.
>
> hilsen fra Peter
>
>
| |
Peter Lykkegaard (01-08-2003)
| Kommentar Fra : Peter Lykkegaard |
Dato : 01-08-03 22:19 |
|
"peter hansen" <wont@tell.you> skrev i en meddelelse
news:3f2ad5b5$0$13170$edfadb0f@dread15.news.tele.dk...
> Eiiih... jamen jeg vil gøre det på min måde og jeg ved det kan lade sig
gøre
> :D ved at dimme, private eller publice i et eller andet sted i form2...
>
Du laver en public property på din form
Igennem denne property kan du så ændre text egenskaben på dit kontrolelement
mvh/Peter Lykkegaard
| |
peter hansen (01-08-2003)
| Kommentar Fra : peter hansen |
Dato : 01-08-03 23:45 |
|
Du er en skat i skysovs er du *krammer* og mange tak :D
"Peter Lykkegaard" <polonline@hotmail.com> wrote in message
news:3f2ad950$0$32522$edfadb0f@dread16.news.tele.dk...
>
> "peter hansen" <wont@tell.you> skrev i en meddelelse
> news:3f2ad5b5$0$13170$edfadb0f@dread15.news.tele.dk...
> > Eiiih... jamen jeg vil gøre det på min måde og jeg ved det kan lade sig
> gøre
> > :D ved at dimme, private eller publice i et eller andet sted i form2...
> >
> Du laver en public property på din form
> Igennem denne property kan du så ændre text egenskaben på dit
kontrolelement
>
> mvh/Peter Lykkegaard
>
>
| |
Mikkel (02-08-2003)
| Kommentar Fra : Mikkel |
Dato : 02-08-03 09:14 |
|
Hmmm, Peter Lykkegaard skriver åbentbart mere klart end jeg.
Mikkel
"peter hansen" <wont@tell.you> wrote in message
news:3f2aed86$0$13174$edfadb0f@dread15.news.tele.dk...
> Du er en skat i skysovs er du *krammer* og mange tak :D
>
> "Peter Lykkegaard" <polonline@hotmail.com> wrote in message
> news:3f2ad950$0$32522$edfadb0f@dread16.news.tele.dk...
> >
> > "peter hansen" <wont@tell.you> skrev i en meddelelse
> > news:3f2ad5b5$0$13170$edfadb0f@dread15.news.tele.dk...
> > > Eiiih... jamen jeg vil gøre det på min måde og jeg ved det kan lade
sig
> > gøre
> > > :D ved at dimme, private eller publice i et eller andet sted i
form2...
> > >
> > Du laver en public property på din form
> > Igennem denne property kan du så ændre text egenskaben på dit
> kontrolelement
> >
> > mvh/Peter Lykkegaard
> >
> >
>
>
| |
peter hansen (02-08-2003)
| Kommentar Fra : peter hansen |
Dato : 02-08-03 13:32 |
|
Om igen - den fik jeg ikke =) har du haft en finger med i det her spørgsmål
?
"Mikkel" <FoxylogicNOT@stofanet.dk> wrote in message
news:3f2b72d0$0$26626$ba624c82@nntp04.dk.telia.net...
> Hmmm, Peter Lykkegaard skriver åbentbart mere klart end jeg.
>
> Mikkel
>
> "peter hansen" <wont@tell.you> wrote in message
> news:3f2aed86$0$13174$edfadb0f@dread15.news.tele.dk...
> > Du er en skat i skysovs er du *krammer* og mange tak :D
> >
> > "Peter Lykkegaard" <polonline@hotmail.com> wrote in message
> > news:3f2ad950$0$32522$edfadb0f@dread16.news.tele.dk...
> > >
> > > "peter hansen" <wont@tell.you> skrev i en meddelelse
> > > news:3f2ad5b5$0$13170$edfadb0f@dread15.news.tele.dk...
> > > > Eiiih... jamen jeg vil gøre det på min måde og jeg ved det kan lade
> sig
> > > gøre
> > > > :D ved at dimme, private eller publice i et eller andet sted i
> form2...
> > > >
> > > Du laver en public property på din form
> > > Igennem denne property kan du så ændre text egenskaben på dit
> > kontrolelement
> > >
> > > mvh/Peter Lykkegaard
> > >
> > >
> >
> >
>
>
| |
Peter Lykkegaard (02-08-2003)
| Kommentar Fra : Peter Lykkegaard |
Dato : 02-08-03 15:21 |
|
"peter hansen" <wont@tell.you> wrote in message
news:3f2baff3$0$13222$edfadb0f@dread15.news.tele.dk...
> Om igen - den fik jeg ikke =) har du haft en finger med i det her
spørgsmål
Jeg vil tro det er som "mhabio"
- Peter Lykkegaard
| |
peter hansen (02-08-2003)
| Kommentar Fra : peter hansen |
Dato : 02-08-03 14:30 |
|
måske men han svarede jo ikke på det jeg søgte :D eller jo det gjorde han
men det var ikke det svar jeg ønskede... du kom med public'en og det var den
der manglede :D
hilsen fra pede
"Peter Lykkegaard" <polonline@hotmail.dk> wrote in message
news:3f2bba9e$0$32442$edfadb0f@dread16.news.tele.dk...
>
> "peter hansen" <wont@tell.you> wrote in message
> news:3f2baff3$0$13222$edfadb0f@dread15.news.tele.dk...
> > Om igen - den fik jeg ikke =) har du haft en finger med i det her
> spørgsmål
>
> Jeg vil tro det er som "mhabio"
>
> - Peter Lykkegaard
>
>
| |
Tomas Christiansen (02-08-2003)
| Kommentar Fra : Tomas Christiansen |
Dato : 02-08-03 22:34 |
|
peter hansen skrev:
> måske men han svarede jo ikke på det jeg søgte :D eller jo det gjorde han
> men det var ikke det svar jeg ønskede... du kom med public'en og det var
den
> der manglede :D
Nu bruger jeg ikke VB.NET, men hvis det er på nogenlunde samme måde som i
VB6, så foreslog "mhabio" (eller hvad han nu end hedder):
Public Sub SetCaption(NewCaption as String)
label1.Text = NewCaption
End Sub
og Peter foreslog (hvis jeg har forstået det korrekt):
Public Property SetCaption(NewCaption as String)
label1.Text = NewCaption
End Sub
Jeg ser ikke den helt store forskel???
-------
Tomas
| |
preben nielsen (03-08-2003)
| Kommentar Fra : preben nielsen |
Dato : 03-08-03 08:15 |
|
"Tomas Christiansen" <toc-01-nospam@blikroer.dk> skrev i en
meddelelse news:bghake$1u1u$1@news.cybercity.dk...
> peter hansen skrev:
> > måske men han svarede jo ikke på det jeg søgte :D eller jo det
gjorde han
> > men det var ikke det svar jeg ønskede... du kom med public'en
og det var
> den
> > der manglede :D
>
> Nu bruger jeg ikke VB.NET, men hvis det er på nogenlunde samme
måde som i
> VB6, så foreslog "mhabio" (eller hvad han nu end hedder):
>
> Public Sub SetCaption(NewCaption as String)
> label1.Text = NewCaption
> End Sub
>
> og Peter foreslog (hvis jeg har forstået det korrekt):
>
> Public Property SetCaption(NewCaption as String)
> label1.Text = NewCaption
> End Sub
>
> Jeg ser ikke den helt store forskel???
Forskellen er hvordan de bruges/kaldes.
Sub:
SetCaption "Hej"
Property:
<object>.SetCaption = "Hej"
Properties er generelt mere kraftfulde og elegante (IMO) idet det
er ligesom at tilskrive værdier til simple variabler - men bare
med mulighed for kode bag (til validering etc.). I forbindelse med
brug af en property burde man nok fjerne "Set" fra navnet sålede
at det blev:
Public Property Caption(NewCaption as String)
label1.Text = NewCaption
End Sub
<object>.Caption = "Hej"
--
/\ preben nielsen
\/\ prel@post.tele.dk
| |
peter hansen (03-08-2003)
| Kommentar Fra : peter hansen |
Dato : 03-08-03 14:52 |
|
Det var...
citat fra Peter Lykkegard:
Du laver en public property på din form
Igennem denne property kan du så ændre text egenskaben på dit kontrolelement
mvh/Peter Lykkegaard
--- slut ---
....jeg brugte
alt det andet sprang jeg let og ellegant over...
Desuden er det ikke som i VB6 - jo måske noget af det men i VB6 kan du kalde
den som Form2.Label1.Caption = "Peter" - det kan du ikke i VB.NET da Form2
som sådan ikke er registreret før du gør det med den Public som Peter
Lykkegård henviste til. Det sker iøvrigt med en "Public frm2 As New Form2" i
Form1 Declaration og mit problem var at jeg havde glemt det skulle være en
Public og ikke en Dim (frm2 As New Form2)
Hilsen fra Peter
"Tomas Christiansen" <toc-01-nospam@blikroer.dk> wrote in message
news:bghake$1u1u$1@news.cybercity.dk...
> peter hansen skrev:
> > måske men han svarede jo ikke på det jeg søgte :D eller jo det gjorde
han
> > men det var ikke det svar jeg ønskede... du kom med public'en og det var
> den
> > der manglede :D
>
> Nu bruger jeg ikke VB.NET, men hvis det er på nogenlunde samme måde som i
> VB6, så foreslog "mhabio" (eller hvad han nu end hedder):
>
> Public Sub SetCaption(NewCaption as String)
> label1.Text = NewCaption
> End Sub
>
> og Peter foreslog (hvis jeg har forstået det korrekt):
>
> Public Property SetCaption(NewCaption as String)
> label1.Text = NewCaption
> End Sub
>
> Jeg ser ikke den helt store forskel???
>
> -------
> Tomas
>
| |
|
|