Forum: PC-Programmierung C# Steuerelement-Array


von Klatec (Gast)


Lesenswert?

Hallo

Ich habe mit folgenden Code ein TextBoxen Array zur Laufzeit erzeugt.



        //TextBox Menge erzeugen
        private void createArray_txtMenge(int x0, int y0, int b, int h, 
int zmax)
        {
            txtMenge = new TextBox[zmax];   // Text-Array instanziieren


            for (int z = 0; z < zmax; z++)
            {
                TextBox txt = new TextBox();
                txt.Bounds = new Rectangle(new Point(x0, y0 + z * (h + 
4)), new Size(b, h));
                txt.BorderStyle = BorderStyle.Fixed3D;
                txt.TextChanged += new 
EventHandler(txtMenge_TextChanged); //EventHandler anmelden
                grbBestell.Controls.Add(txt);
                txtMenge[z] = txt;

            }

        }

Ich habe nun das Problem dass ich z.B. beim folgenden EventHandler den 
Index der auslösenden TextBox nicht auslesen kann (in VB6 war dies sehr 
einfach). Kann mir bitte jemand helfen? Danke.

        private void txtMenge_TextChanged(object sender, EventArgs e)
        {

        }

von Sven P. (Gast)


Lesenswert?

Geht das nimmer über sender?

von Arc N. (arc)


Lesenswert?

> Ich habe nun das Problem dass ich z.B. beim folgenden EventHandler den
> Index der auslösenden TextBox nicht auslesen kann (in VB6 war dies sehr
> einfach). Kann mir bitte jemand helfen? Danke.

Z.B über die Eigenschaft Tag oder auch über TabIndex
1
// beim Initialisiern
2
txt.Tag = z;
3
4
// und im Eventhandler
5
TextBox txt = sender as TextBox;
6
if (txt == null) return;
7
something[(int)txt.Tag] = ...

von Klatec (Gast)


Lesenswert?

Hallo Arc Net

Danke!

von hans meierle (Gast)


Lesenswert?

ich weiß es ,für fünf euro

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.