Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[C#] Textboxen in Schleifen ansprechen

Empfohlene Antworten

Veröffentlicht

Hallo

Ich hab ein kleines Problem, zu dem ich keine wirkliche Lösung finde.

Ich habe 10 Textbox (Textbox1, Textbox2,...) und möchte die in einer Schleife nacheinander füllen.

for(i=1;i<=10; i++)

{

textbox(i).text = "Test";

}

Und genau an der Stelle komm ich nicht weiter, wie krieg ich es hin die Nummern der Textboxen per Variable i darzustellen und die entsprechenden Textboxen dann anzusprechen?? Jemand ne Idee???

Hallo

ich kann zwar nicht C# (zumindest bin ich nicht der stärkste darin). Aber hier ein kleiner Lösungsansatz in VB.NET.


For Each Control In Me.Controls

   If TypeOf Control Is TextBox Then

        Control.text = "Test"

   End If

Next

Natürlich kannst die Bedingungen auch noch anders setzen. Ich persönlich mache es sogar so, dass ich beim Öffnen der Maske alle Elemente die ich später füllen möchte in ein Object-Array einfüge, um dann später nur noch das Object- Array durchlaufen zu müssen.

Gruß Hans-Jörg

Hallo

Ich hab ein kleines Problem, zu dem ich keine wirkliche Lösung finde.

Ich habe 10 Textbox (Textbox1, Textbox2,...) und möchte die in einer Schleife nacheinander füllen.

for(i=1;i<=10; i++)

{

textbox(i).text = "Test";

}

Und genau an der Stelle komm ich nicht weiter, wie krieg ich es hin die Nummern der Textboxen per Variable i darzustellen und die entsprechenden Textboxen dann anzusprechen?? Jemand ne Idee???

VB Code:

Me.Controls("textbox" & i).Text = "Test"
C# (programmier ich kaum, daher keine Garantie :D) Code:
this.Controls("Textbox" + i).Text = "Test";

for(int i = 1; i <=10; i++){

TextBox.text = "Test";

}

Könnte Klappen, bin mir aber gerade nicht so sicher.

Kann zwar ein bisschen C# aber ja:rolleyes:.

HF:floet:

SRY stimmt nicht klappt nicht.

Mir ist gerade in den sinn gekommen, dass die Textbox so nicht ohne weiteres ansteuer bar ist, da "textBox1" ein Name und somit ein string ist, durch die For-schlaue wird jedoch ein Integer verwendet.

Wir also sehr kompliziert mit der sache, schreibe lieber die TB's so auf.

Würde ich auf jedenfall so machen.

Greetz

Ich hätte eher an sowas gedacht:

int i;

string Dump;

for (i = 1; i <= 10; i++)

{

Dump = "textBox" + i;

(Dump as TextBox).Text = "Test";

}

Geht aber leider auch nicht, da ich den String in keine Textbox umwandeln kann.

Ideen?

bekomme bei deinem Code ned Exception(Der Index war außerhalb des Arraybereichs.)

nicht den ganze Code gepostet?

Sry interssier mich auch gerade dafür, weil ich gerade auch selber nicht weiss wie ich zu lösung kommen würde.

:D

hm nein, habe 10 textBoxen.

Habe auch in der for-schlaufe "Textbox" zu "textBox" umgeschrieben, default TextBoxen sind so geschrieben.

ah sry stimmt, funzt, hatte ne textbox benannt. sry

Code funzt!

Vielen dank!

RESPEKT der Herr :D

Mein aufrichtiges Beileid.

*timetosaygoodbyeanstimm*

  • Autor

Hallo

Hab mir mal eure Beiträge angesehen und ein bisschen gespielt.

object[] ar_lbl = new object[6];

private void button3_Click(object sender, EventArgs e)

{

int i = 0;

foreach (Control cnt in this.Controls)

{

if (cnt is Label)

{

ar_lbl = cnt.Name.ToString();

i++;

}

}

So kannich alle Label ansprechen (wenn man nach Label sucht) schreibt sie in ein Objektarray und kann damit arbeiten.

Vielen Dank!:bimei

...

Und wenn du mehr als 6 Labels hast, kommt es zu einem Bufferüberlauf.

...

Und wenn du schon arrays benutzen willst, dann nimm wenigstens Stringarrays wenn du die eh nur mit Strings füllst. Dann brauchst du später nicht zu casten.

...

:rolleyes:

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.