Auslesen aus Txt und in RichTextBox schreiben

bigb702

Grünschnabel
Hallo!

Ich bin noch ein Newbie und habe mir mal Visual Studio 08 drauf gemacht, weil ich VB lernen will.
Ich habe mir einige Forms gemacht. Eine Form enthält das RichTextBox-Steuerelement.
Nur will ich aus einer Txt die Zeilen auslesen und in die RTFBox eintragen. In der Datei siehts so aus:

15:41 19.03.08: TextTextTextTextTextTextTextTextTextTextText
http://www.wasweißich.net

So sollen die auch eingetragen werden oder Uhrzeit und Datum untereinander. Bei dem Link würde es mir reichen, wenn ich da sowas wie "Go to" stehen habe oder auf den Text klicke. Und die Enträge sollen immer abwechselnd farbig hinterlegt sein.
Ist das überhaupt damit möglich? Oder gibt es außer ListBox noch andere Elemente, in die ich das schreiben kann?

Danke schonmal.
 
Hallo!

Man kann bei der Richtextbox eine Eigenschaft setzten damit sie Links automatisch erkennt. Ich weiß jetzt nicht auswendig wie sie heißt aber du findest sie schon; AutoDetectHyperlink oder so irgendwas. Dann kann man einfach drauf klicken.

Farbig darstellen geht auch. Wähle einfach über Select den entsprechenden Text aus und formatiere ihn dann (TextColor - bin mir aber auch nicht sicher).

codeman
 
Ich will aber nicht die TextColor, sondern Hintergrundfarbe ändern. Das mit den Links habe ich gefunden.

Ich versuche die Textdatei so zu öffnen. Hoffe es ist richtig:

Dim sr As StreamReader = File.OpenText("C:\Users\Basti\workspace\Perl\Ergeignisse.txt")
Dim lineInput As String
lineInput = sr.ReadLine()
Do While lineInput <> ""
Loop

Und so in die RTFBox zu schreiben. Aber es wird nichts angezeigt.

Private Sub Form_Load()
RichTextBox1.Text = "Hallo" & vbCrLf & "Welt"
End Sub
 
Zuletzt bearbeitet:
du überschreibst ja auch lineInput in deiner Schleife und die Letzte zeile einer Datei ist glaube immer Leer.
Darüber hinaus die Schleife nicht mit "" (Leer) prüfen sondern mit Nothing

So ungefähr (ist nur pseudo VB, weiß nicht wirklich ob ich alles richtig für VB getroffen hab :D)

Code:
Dim inhalt As String
Dim lineInput As String
While (lineInput=sr.ReadLine()) <> Nothing
   inhalt+=lineInput;
RichTextBox1.Text = inhalt

oder besser, dann ersparst du dir die Schleife
Code:
RichTextBox1.Text =sr.ReadToEnd()
 
Super! Das klappt jetzt. Und wie kann ich die Hindergrundefarbe immer nach 2 Zeilen ändern? Was ich noch vergessen habe.....wie kann ich wieder löschen?

Ok. Das löschen geht.
 
Zuletzt bearbeitet:
Zurück