none
Procházení labelů za běhu

    Dotaz

  • Dobrý den. Řeším problém a nevím, jak na to.

    Mám založené 3 labely s názvy "lab1", "lab2" a "lab3". Potřebuju je procházet pomocí seznamu jejich názvů, asi takto:

     

    Code Snippet

    string [] str = {"lab1", "lab2" , "lab3"};

    for(int x=0;x<3;x++)

    {

    this.str[x].Text="";

    }

     

     

     

    Problém je v tom, že tato konstrukce nefunguje. Jak to mám tedy vyřešit? Díky za jakoukoliv odpověď.
    11. dubna 2008 17:05

Odpovědi

  • Dobrý den,

    v ASP.NET by to bylo něco jako:

     

    Code Snippet

    string [] str = {"lab1", "lab2" , "lab3"};

    for(int x=0;x<3;x++)

    {

    (Label)(this.FindControl(str[x])).Text="";

    }

     

     

    Pokud Vám jde o WinForms, bude konstrukce obdobná.

    11. dubna 2008 21:55
    Moderátor

Všechny reakce

  • Dobrý den,

    v ASP.NET by to bylo něco jako:

     

    Code Snippet

    string [] str = {"lab1", "lab2" , "lab3"};

    for(int x=0;x<3;x++)

    {

    (Label)(this.FindControl(str[x])).Text="";

    }

     

     

    Pokud Vám jde o WinForms, bude konstrukce obdobná.

    11. dubna 2008 21:55
    Moderátor
  • Jo, mockrát díky. Velice mi to pomohlo.

    Finální kód je tedy:

     

    Code Snippet

    string[] str = { "lab1", "lab2", "lab3" };

    Control[] ctr = new Control[0];

    for (int x = 0; x < 3; x++)

    {

    ctr= (this.Controls.Find(str[x], true)) ;

    ctr[0].Text = x.ToString();

    }

     

     

    12. dubna 2008 6:39