webForumDet fria alternativet

Ta bort kontroll

4 svar · 449 visningar · startad av andreas_lindh

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#1

I vb.net gör jag så här

Dim uc As mainuc = form1.Controls("main")
        form1.Controls.Remove(uc)

Hur gör man samma sak i C#?

Har provat med

mainuc uc = form1.Controls("mainuc");
form1.Controls.Remove(uc);

Men får felet
"System.Windows.Forms.Control.Controls' is a 'property' but is used like a 'method'"

CatZMedlem sedan jan. 20022 440 inlägg
#2

Jag brukar köra med (har jag för mig)

this.Controls.Remove("mainuc");
andreas_lindhMedlem sedan jan. 20011 140 inlägg
#3

Det fungerade inte.

Har gjort så här nu

Control[] c = this.Controls.Find("mainuc", true);
            if (c.Length > 0)
            {
                this.Controls.Remove(c[0]);
            }

Finns det någpt bättre sätt att göra det på?

CompusaMedlem sedan jan. 20023 327 inlägg
#4

Så här kan du göra:

this.Controls.Remove(this.Controls["main"]); // namnet på din kontroll inom dubbelfnuttar

"Direktöversättning" av ditt VB-exempel skulle ge följande:

mainuc uc = form1.Controls["main"]);
form1.Controls.Remove(uc);
andreas_lindhMedlem sedan jan. 20011 140 inlägg
#5

Tack!

127 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)