Avatar billede daxiez Nybegynder
10. marts 2006 - 12:02 Der er 3 kommentarer og
1 løsning

Controls i run time ! hvordan ?

Jeg opretter en knap og en textbox, derefter laver jeg et event til knappen som skal skrive en tekxt i textboxen, men nu kender den ikke textboxen fordi den bliver lavet i runtime. hvordan får man den til det ?


private void Form1_Load(object sender, EventArgs e)
        {
            Button btn = new Button();
            btn.Text = "Test btn";
            btn.Click += new System.EventHandler(btn_click);
            this.Controls.Add(btn);
           

            TextBox tb = new TextBox();
            tb.Name = "tb";
            tb.Location = new System.Drawing.Point(77, 100);
            this.Controls.Add(tb);
        }

        private void btn_click(object sender, EventArgs e)
        {
          tb.Text = "Denne tekst skal vises";
        }
Avatar billede spif2001 Nybegynder
10. marts 2006 - 12:06 #1
Du kan evt. give tb's Tag en værdi - tb.Tag = "123";
og derfefter køre en løkke i click metoden:

foreach(Control c in this.Controls)
{
  if((string)c.Tag == "123")
      c.Text = "Denne tekst skal vises";
}
Avatar billede daxiez Nybegynder
10. marts 2006 - 12:18 #2
Jeg dropper ideen...  men sikker på det ville virke med en løkke, men har bare mange steder hvor jeg gør det sådan så tror jeg laver det om ! smid et svar til point !
Avatar billede spif2001 Nybegynder
10. marts 2006 - 12:20 #3
ok
Avatar billede clausc Nybegynder
10. marts 2006 - 15:02 #4
Controls.Add returnerer det index som den nye kontrol får i listen af controls. Så længe du ikke fjerner controls dynamisk kan dette index bruges:

int idx = this.Controls.Add(tb);
((TextBox)this.Controls[idx]).Text = "davs";
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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