Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0034: Textbox mitscrollen lassen

 von 

Beschreibung 

Wird an eine TextBox oder RichTextBox ein Text angehängt, Ist dieser je nachdem erst zu sehen, wenn der Anwender den Scrollbalken betätigt. Um einen dem Ende zugefügten String direkt anzeigen zu lassen kann man sich dieses einfachen Beispiels bedienen.

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Verwendete API-Aufrufe:

keine

Download:

Download des Beispielprojektes [2,18 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Projekt1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.Frm  ---------
' Steuerelement: Schaltfläche "Command2"
' Steuerelement: Timersteuerelement "Timer1"
' Steuerelement: Schaltfläche "Command1"
' Steuerelement: Textfeld "Text1"
' Steuerelement: Beschriftungsfeld "Label1"

Option Explicit

Private Sub Timer1_Timer()
  Static Item%

    Text1.Text = Text1.Text & vbCrLf & "Eintrag: " & CStr(Item)
    
    '### Hier ist der wesentliche Befehl
    Text1.SelStart = Len(Text1.Text)
    
    Item = Item + 1
End Sub

Private Sub Form_Load()
  Timer1.Enabled = False
  Timer1.Interval = 300
End Sub

Private Sub Command1_Click()
  Text1.Text = "Los Gehts !"
  Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
  Timer1.Enabled = False
End Sub
'---------- Ende Formular "Form1" alias Form1.Frm  ----------
'-------------- Ende Projektdatei Projekt1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 5 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von Sachse am 01.12.2008 um 21:38

Auch hier hat der Autor wieder rumgespielt und den Code verkompliziert. Ich finde das teilweise wirlich nicht mehr nachvollziehbar und weit weg von einer Hilfe.

Kommentar von markus am 18.12.2003 um 10:39

Nett, aber kann man das Flackern beim Scrollen unterbinden ?

Gruß
Makus

Kommentar von Mark am 04.11.2003 um 07:35

Hi,

nach so einem Code habe ich gesucht.
Das Problem bei mir ist nur, daß die Anzeige im Textfenster "laggt". Woran kann das liegen? In dem Beispielprogramm ging das doch auch flüssig!

Bitte Hilfe!

Mark

Kommentar von Dirk am 28.02.2003 um 03:25

Wegen Markus 4441-Problem:

"Normale" Textboxen lassen nur etwa 32000 Zeichen zu, das ist das Problem.

Eine Loesung waere, eine RichTextBox anstelle der normalen zu benutzen, die hat naemlich keine Begrenzungen.

Oder man koennte Text am Anfang der Textbox entfernen, wenn sie zu voll wird. Das wuerde dann etwa so aussehen:
IF Len(Text1) > 30000 then Text1 = Mid(Text1, 1000)
Dies muesste nach jeden Hinzufuegen von Daten stehen (was dann vorzugsweise in einer Sub geschehen sollte) und wuerde die ersten 1000 Zeichen entfernen, wenn mehr schon als 30000 drin sind.
Wenn der Benutzer nicht absichtlich zurueckscrollt, faellt das gar nicht auf.

Dirk

Kommentar von Markus am 23.02.2003 um 22:28

Tja is ja ne dolle sache,
leider funktioniert das ganze nur bis
Eintrag 4441, dann bleib der inhalt der Textbox stehen.

Wie kann mann das umgehen ?
Z.B wie bei Hyperterminal ?

Gruß
Markus