Avatar billede bodekaer Nybegynder
26. november 2002 - 16:34 Der er 8 kommentarer og
2 løsninger

Lave kopi af en control via kode

Hvordan kan jeg lave en kopi af et panel jeg har? Og samtidig få alle controls i det panel med?

Mvh. Michael
Avatar billede bodekaer Nybegynder
26. november 2002 - 16:35 #1
Det er i VB.NET
Avatar billede simon.ulsnes Nybegynder
26. november 2002 - 16:39 #2
Kan dette bruges?

Dim Panel2 As New Panel()
Panel2 = Panel1
Panel2.Location = new Point(..., ...)
Form.Controls.Add(Panel2)
Avatar billede bodekaer Nybegynder
26. november 2002 - 16:41 #3
...Laver det en kopi af Panel1???
Jeg har siddet og prøvet med det stykke kode, i en evighed, men det er som om den bare sætter Panel2 = Panel1, og så faktisk bare flytter Panel1....

?
Avatar billede bodekaer Nybegynder
26. november 2002 - 16:42 #4
F.eks. kan to panels da ikke have det samme "Name" ??
Det vil den jo få når man laver en kopi på ovenstående måde?
Avatar billede kichian Nybegynder
26. november 2002 - 17:18 #5
Nah simon. Du laver jo ikke en kopi af Panel1. Panel2 bliver bare en reference til Panel1. Dvs. de peger på det samme.

For at oprette en kopi af Panel1 bliver du nødt til at løbe Panel1.Controls igennem. For hver kontrol skal du afgøre hvilken type det er o.lign. Og så oprette/tilføje en tilsvarende til Panel2.
Avatar billede simon.ulsnes Nybegynder
26. november 2002 - 17:19 #6
Ellers kan du jo alternativt gøre det på den besværlige måde og manuelt sætte Panel2's properties til det samme som Panel1's. Controls kopieres via et For Each loop.

(er ikke sikker på syntaks... koder normalt i C#)
For Each Control c in Panel1.Controls
  Panel2.Controls.Add(c)
End For

// Simon
Avatar billede simon.ulsnes Nybegynder
26. november 2002 - 17:21 #7
kichian >> Det var da et forsøg værd... :-)
Avatar billede bodekaer Nybegynder
26. november 2002 - 17:48 #8
Findes der så ikke noget alla:

dim p as Property
For Each p in obj.Properties
...
Next
Avatar billede simon.ulsnes Nybegynder
26. november 2002 - 17:49 #9
Niks, desværre.
Avatar billede bodekaer Nybegynder
26. november 2002 - 17:54 #10
Nå ok, men det er faktisk også kun 3 properties jeg skal sætte.

Tak for input'en
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester