Entwickler-Ecke

Basistechnologien - textBox-inhalt in eine ArrayList einfügen


X-52 - So 07.10.07 12:24
Titel: textBox-inhalt in eine ArrayList einfügen
Wie kann man den (mehrzeiligen) Inhalt einer textBox in eine ArrayList einfügen?
Wäre froh über eine schnelle Antwort!
Danke


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am So 07.10.2007 um 12:26


Christian S. - So 07.10.07 12:26

Jede Zeile in einen separaten Eintrag oder den ganzen Text in einen Eintrag?
Muss es eine ArrayList sein? List<T> ist bequemer, schneller und typensicher.


X-52 - So 07.10.07 12:30

geht auch!

ich meinte den ganzen Inhalt der TextBox einfügen (Zuweisen).


Christian S. - So 07.10.07 12:41

Meinst Du sowas?


C#-Quelltext
1:
2:
List<String> myList = new List<String>();
myList.Add(textBox1.Text);


X-52 - So 07.10.07 12:54

nicht ganz...
so gibt es in der Liste nur den einen eintrag myList[0] mit dem ganzen!
aber ich will, dass jede Linie ein neuer eintrag gibt!
wenn in der textBox diese Einträge sind:
Wort1
Wort2
Wort3
Wort4

dass in myList dann das angezeigt wird:

myList[0] = Wort 1
myList[1] = Wort 2
...


Christian S. - So 07.10.07 13:00

user profile iconX-52 hat folgendes geschrieben:
nicht ganz...
so gibt es in der Liste nur den einen eintrag myList[0] mit dem ganzen!
Ich hab eben gefragt und Du sagtest den ganzen Eintrag :?

Dann schau Dir mal die Lines-Eigenschaft der TextBox an.


X-52 - So 07.10.07 13:51

Danke!!!
Ich habs falsch verstanden! ich meinte, dass du meinst nur den ersten eintrag der textbox in der array speichern!

aber noch was:
wie kann ich die Anzahl der Zeilen einer Textbox bestimmen? wie bei einer liste myList.Count, wie ist das bei einer Textbox?


Christian S. - So 07.10.07 13:55

Die Lines-Eigenschaft ist ein normales Array, mit allen Eigenschaften die ein Array hat, also auch Length.


X-52 - So 07.10.07 14:03

ääh... komme nicht ganz draus... bin ziemlich neu in programmieren (wie man merkt)

bei einer ArrayList bestimmt man die anzahl der Einträge so:
myArray.Count

wie macht man (heisst) das selbe für eine textBox?
so gehts ja nicht:
textBox1.Count


Christian S. - So 07.10.07 14:15

user profile iconChristian S. hat folgendes geschrieben:
Die Lines-Eigenschaft ist ein normales Array, mit allen Eigenschaften die ein Array hat, also auch Length.
Ich empfehle Dir, ein paar Grundlagen anzueignen:
http://www.galileocomputing.de/openbook/visual_csharp/index.htm


JüTho - So 07.10.07 14:15

user profile iconX-52 hat folgendes geschrieben:
wie macht man (heisst) das selbe für eine textBox?
so gehts ja nicht:
textBox1.Count

Christian hat es doch schon hingeschrieben:
user profile iconChristian S. hat folgendes geschrieben:
Die Lines-Eigenschaft ist ein normales Array, mit allen Eigenschaften die ein Array hat, also auch Length.

also:

C#-Quelltext
1:
textBox1.Lines.Length                    

Aber dafür gilt meine generelle Empfehlung: Grundlagen selbst lernen, z.B. mit OpenBook C# [http://www.galileocomputing.de/openbook/csharp/] und OpenBook Visual C# [http://www.galileocomputing.de/openbook/visual_csharp/] und vielem Blättern in der SDK-Doku. Alle Stichworte, die Du hier erhalten hast, sind dort zu finden!!! Jürgen


X-52 - So 07.10.07 14:19

Danke!!!
Ich hatte irgendeinen Knopf und den Quelltext mit Lenght falsch eingegeben, dann kam immer eine Fehlermeldung!!! Jetzt gehts aber!!!
Danke!!!


X-52 - Mo 08.10.07 13:18

Gegenfrage:
Ist das ungekehrt nicht möglich?
Ich will die Zeilen einer Liste in eine Textbox einfügen, ernte aber immer eine Fehlermeldung. ich habe es mit
textBox1.Lines[x] = myList[x];
probiert, das ungekehrte für das einfügen in eine Liste. Was habe ich da übersehen?


JüTho - Mo 08.10.07 13:47

Auch hier gilt wieder: Grundlagen selbst lernen...

Zur Erklärung für Deine Probleme: Arrays haben grundsätzlich eine konstante Größe, die am Anfang festgelegt werden muss. (Das würde auch für TextBox.Lines gelten.) Alle Möglichkeiten, mit denen Du Strings bearbeiten kannst, kannst Du auch für TextBox.Text verwenden (wobei - große Warnung - die einfache Verkettung "+=" bei Strings zu vermeiden ist, aber auch das ist Teil der Grundlagen). In der SDK-Doku gibt es außerdem eine Methode, wie in einer TextBox Text angehängt werden kann; aber die solltest Du selbst suchen.

Und schließlich gibt uns "ernte aber immer eine Fehlermeldung" keine Hilfe: Wenn Du den Fehler genau nennst, kommst Du vielleicht selbst auf die Lösung (die meisten Meldungen sind sehr aussagefähig), und wir können gezielt antworten und müssen nicht raten.

Etwas mehr Eigeninitiative und Mitdenken bitte! Jürgen


X-52 - Mo 08.10.07 14:05

also:

C#-Quelltext
1:
2:
3:
4:
for (int x = 0; x < myList.Count; x++)
{
     textBox2.Lines[x] = myList[x];
}


und die Fehlermeldung:

Quelltext
1:
Der Index war außerhalb des Arraybereichs.                    


Was ist nun mein Fehler?

Moderiert von user profile iconChristian S.: Quote- durch C#-Tags ersetzt


Christian S. - Mo 08.10.07 14:13

Hat Jürgen bereits geschrieben.

Und so langsam solltest Du wirklich mal mit den Grundlagen anfangen :roll: