Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  C#
  Form.Name mittels Index in Schleife ansprechen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Form.Name mittels Index in Schleife ansprechen (875 / mal gelesen)
Gigerota
Mitglied



Sehen Sie sich das Profil von Gigerota an!   Senden Sie eine Private Message an Gigerota  Schreiben Sie einen Gästebucheintrag für Gigerota

Beiträge: 561
Registriert: 17.01.2006

Windows 10
AutoCAD LT 2017
Solidworks 2016

erstellt am: 22. Mai. 2018 13:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute!

Bin ganz neu hier im c# Forum und auch C#-Anfänger!
Ich brauche Hilfe.

Möchte in einer for Schleife verschiedene TextBoxen auslesen. Diese TextBoxen haben von mir als Name einen Text mit fortlaufender Nummer erhalten:
tb_AdrGeraete1 ( ...bis 8)

Ich hatte gehofft, ich kann einfach der Funktion einen Index hinzugeben:
void tb_AdrGeraete[i]TextChanged(object sender, EventArgs e)
{

}
...und dann:
sAdrGeraete  = this.tb_AdrGeraete[i].Text;

Wäre zu schön gewesen...
Könnt ihr mir helfen?..bin blutiger Anfänger.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

M-Ott
Mitglied



Sehen Sie sich das Profil von M-Ott an!   Senden Sie eine Private Message an M-Ott  Schreiben Sie einen Gästebucheintrag für M-Ott

Beiträge: 216
Registriert: 21.11.2008

Win7 64 Pro SP1
i5 2.8 GHz
8 GB RAM

erstellt am: 22. Mai. 2018 14:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gigerota 10 Unities + Antwort hilfreich

Du kannst auf den jeweiligen Namen über "sender.Name" bzw. "(TextBox)sender.Name" zugreifen.

------------------
Grüße
Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gigerota
Mitglied



Sehen Sie sich das Profil von Gigerota an!   Senden Sie eine Private Message an Gigerota  Schreiben Sie einen Gästebucheintrag für Gigerota

Beiträge: 561
Registriert: 17.01.2006

Windows 10
AutoCAD LT 2017
Solidworks 2016

erstellt am: 22. Mai. 2018 14:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Bitte, ich bin Anfänger. Mit deinem Hinweis, kann ich nichts anfangen.

Nochmal:
Der User wählt eine Anzahl Geräte aus. Nun werden genau so viele TextBoxen angezeigt, wo er jeweils eine Zahl reinschreiben kann.
Diese TextBoxen heißen : tb_GeraetAdr1, tb_GeraetAdr2, usw.

Ich will auslesen, was der User in die TextBoxen rein geschrieben hat. Kannst du mir die Programmzeile(n) aufschreiben?
Gäbe es nur 1 Textbox, wäre mein Code:
void tb_GeraetAdr1TextChanged(object sender, EventArgs e)
{
    sAdrGeraete = this.tb_GeraetAdr1.Text;
}
Ich möchte die 1 durch den Index der Schleife ersetzen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

M-Ott
Mitglied



Sehen Sie sich das Profil von M-Ott an!   Senden Sie eine Private Message an M-Ott  Schreiben Sie einen Gästebucheintrag für M-Ott

Beiträge: 216
Registriert: 21.11.2008

Win7 64 Pro SP1
i5 2.8 GHz
8 GB RAM

erstellt am: 23. Mai. 2018 06:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gigerota 10 Unities + Antwort hilfreich

Ich habe Dich so verstanden, dass Du der Eigenschaft TextBox.Name den Wert "tb_AdrGeraeteX" zugewiesen hast.
Wenn ich Dich richtig verstanden habe, kannst Du folgendermaßen vorgehen:

sender ist das Objekt, dass den Event getriggert hat, in deinem Fall die TextBox, also kannst Du mit sender.Name auf den Namen der TextBox zugreifen, aber da das System nicht weiß, dass sender überhaupt eine TextBox ist und deshalb auch nicht weiß, welche Eigenschaften und Methoden es besitzt, musst Du sender mit einem cast als TextBox definieren.

Wenn Du mit

string myString = (TextBox)sender.Name;

darauf zugreifst, müsste das funktionieren.

P.s.: Es gibt für C# deutlich bessere Foren, als dieses.

------------------
Grüße
Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gigerota
Mitglied



Sehen Sie sich das Profil von Gigerota an!   Senden Sie eine Private Message an Gigerota  Schreiben Sie einen Gästebucheintrag für Gigerota

Beiträge: 561
Registriert: 17.01.2006

Windows 10
AutoCAD LT 2017
Solidworks 2016

erstellt am: 23. Mai. 2018 10:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Leider können sich Experten nicht mehr in richtige Anfänger rein versetzen.....ich kenne Wörter wie Event triggern und cast nicht.

Danke und lass gut sein. Ich versuche es im Forum MyCSharp.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

M-Ott
Mitglied



Sehen Sie sich das Profil von M-Ott an!   Senden Sie eine Private Message an M-Ott  Schreiben Sie einen Gästebucheintrag für M-Ott

Beiträge: 216
Registriert: 21.11.2008

Win7 64 Pro SP1
i5 2.8 GHz
8 GB RAM

erstellt am: 23. Mai. 2018 14:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gigerota 10 Unities + Antwort hilfreich

Ich fühle mich ja geschmeichelt, aber Experte bin ich noch lange nicht.

Nichts für ungut, aber ich habe Dir die Lösung da hin geschrieben, da gibt es nichts mehr, was man nicht verstehen könnte. 

------------------
Grüße
Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MachMaPlatzDa
Mitglied
Informatiker

Sehen Sie sich das Profil von MachMaPlatzDa an!   Senden Sie eine Private Message an MachMaPlatzDa  Schreiben Sie einen Gästebucheintrag für MachMaPlatzDa

Beiträge: 1
Registriert: 05.09.2018

erstellt am: 05. Sep. 2018 15:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gigerota 10 Unities + Antwort hilfreich

Hi,

du kannst über das Form die Controls auflisten in einer Schleife.
Also z.B. Form1.Controls

hier kannst du mit dem Namen prüfen ob's passt, also mit
control.Name.StartsWith("tb_GeraetAdr")
der Name enthält ja dann auch gleichzeitig deinen Index, und über einen CAST (eine Umwandlung) kannst das allgemeine Control als Textbox ansprechen.
z.B.: ((TextBox)control).Text

Hoffe das hilft die ein wenig weiter 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz