03. april 2005 - 11:09
Der er
11 kommentarer og 1 løsning
Dynamisk tilføje komponent til layout
Jeg ønsker runtime at tilføje et komponent (JLabel) til mit layout, kan det lade sig gøre og hvordan?
Annonceindlæg fra Computerworld
03. april 2005 - 11:23
#1
JLabel får mig til lige at spørge: C# eller Java ?
03. april 2005 - 12:08
#2
JLabel l = new JLabel(); this.Controls.Add(l);
03. april 2005 - 21:31
#3
Det er lige det med at kende forskel :) Nej, en Label i C#, hvis jeg bare siger this.Controls.Add(); så gentegnes den ikke.
03. april 2005 - 21:33
#4
Prøv og kald Refresh på det som du har added din Label til
03. april 2005 - 21:41
#5
når du opretter en label skal du huske at sætte størrelse, tekst og lokation på den før du tilføjer
03. april 2005 - 21:44
#6
private int y = 10; void Button1Click(object sender, System.EventArgs e) { Label lbl = new Label(); lbl.Text = "Dynamisk tilføjet"; lbl.Location = new Point(10, y); lbl.Size = new Size(100, 10); y += 15; Controls.Add(lbl); } virker hos mig (uden Refresh)
03. april 2005 - 22:13
#7
Det virker godtnok ikke... Kan det være fordi den evt. skal placeres øverst, hvis der ligger et komponent i baggrunden?
03. april 2005 - 22:16
#8
hvis der ligger noget ovenover dem er de nok svære at se :-)
04. april 2005 - 07:48
#9
Hmm, har prøvet .Remove(førstekomponent); .Add(nytkomponent); Men uden held!
06. april 2005 - 10:51
#10
har du kaldt Invalidate() på formen?
06. april 2005 - 10:55
#11
Den JLabel, har du lavet den helt selv? Har den en Paint? Må vi se dens kode?
06. april 2005 - 11:10
#12
Jeg har løst problemet ved at tilføje mit komponent øverst, og så brugt .Visible = false; .Visible = true;
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.