Gå til innhold

C#: Kombinere to variabler, for å få navnet på et objekt


Anbefalte innlegg

Har et program med 8 knapper som heter button4, button5, button6 ....

 

I en config fil ligger teksten som skal vises på knappen.

Hvordan kjøre dette i en løkke?

 

Hvis ikke, må dette skrives 8 ganger?

string buttonname4 = ConfigurationSettings.AppSettings["Buttonname4"];
button4.Text = buttonname4;
if (buttonname4 != "")	 {
button4.Visible = true;
}
else
{
button4.Visible = false;
}

 

I tillegg ønsker jeg at knappen skal bli sjult, om det ikke er tekst på den i config filen.

 

Er det noen som kan hjelpe med dette? :)

Endret av Goggen90
Lenke til kommentar
Videoannonse
Annonse

Ja, men da klarer jeg ikke kombinere "nr" som er nummeret som øker i løkken, og variabelen button/buttonname.

 

På "button4.Text" må det da bli noe slikt som buttonnr.Text, hvor man definerer buttonnr som buttonnr = "button" + nr; ?

 

Problemet er da at .Text ikke klarer settes til et objekt, siden buttonnr da blir en string?

Lenke til kommentar

Dette er i utgangspunktet feil måte å gjøre det på, men hvis du vil ha det på den måten, kan du bruke strengen for å søke etter en knapp på formen.

 

foreach(var c in Controls)
{
 if(c.Name == "button" + nr.ToString())
c.Text = buttonname;
}

foreach(var c in Controls)
 c.Visible = !string.IsNullOrEmpty(c.Text);

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...