Position in Richtextbox herausfinden

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Krissel095.

    Position in Richtextbox herausfinden

    Hey
    Ich wollte mal fragen wie man die Position herausfindet, wo man sich gerade in der Richtextbox befindet. Außerdem würde ich gerne wissen, wie man die aktuelle Zeile herausfindet^^

    MfG
    hallo krissel095,

    das ist eines der themen die wir hier regelmäßig beantworten.
    such einfach mal.

    ausserdem kann man auch draufkommen, wenn man sich die funktionen des rtb ansieht.

    gruss

    mikeb69
    Gib mal den Suchbegriff "position in richtextbox herausfinden" oder "aktuelle zeile in richtextbox" ein und schau dir an wie viele such-ergebnisse da kommen -.-'

    Bzw. wenn du es weißt kannst du es doch einfach posten, du musst es mir ja nicht verheimlichen, oder?
    hallo krissel095,

    wir hatten im beitrag "qualität der beiträge in diesem forum" verabredet nicht jedem gleich alles zu verraten.
    eigeninitiative ist immer gefragt, wenn man sich programmierer nennt.

    mach dir wenigsten ein bischen mühe

    gruss

    mikeb69
    Hmh, k^^ Sry, hab jetzt alles herausgefunden. Und zwar benötige ich den Code zum Syntaxhighlighting. Ich hab jetzt ewig dran gessesen, funktionierte auch, wenn ich das in das Click-Ereignis eines Buttons eingefügt habe. Bei Richtextbox1.TextChanged hängt sich das Programm allerdings auf =(

    Hier der Code (Ich verwende die Methode von ~blaze~ mit dem RTF):

    VB.NET-Quellcode

    1. If RichTextBox1.Text <> Nothing Then
    2. Dim p = RichTextBox1.SelectionStart
    3. Dim RtfHead = "{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Courier New;}}" & vbCrLf & "{\colortbl ;\red0\green0\blue140;\red0\green140\blue0;\red140\green0\blue0;}" & vbCrLf & "\viewkind4\uc1\pard\f0\cf0\fs17 "
    4. Dim txt = RichTextBox1.Text
    5. RichTextBox1.Rtf = RtfHead
    6. txt = Replace(txt, "{", "\{")
    7. txt = Replace(txt, "}", "\}")
    8. txt = Replace(txt, "\", "\\")
    9. txt = Replace(txt, Chr(10), "\par ")
    10. txt = RtfHead & txt
    11. For Each t In SyntaxBlue
    12. txt = Replace(txt, " " & t, "\cf1 " & t)
    13. Next
    14. For Each t2 In SyntaxGreen
    15. txt = Replace(txt, " " & t2, "\cf2 " & t2)
    16. Next
    17. For Each t3 In SyntaxRed
    18. txt = Replace(txt, " " & t3, "\cf3 " & t3)
    19. Next
    20. Dim newRTF = RtfHead & txt & "}"
    21. RichTextBox1.Rtf = newRTF
    22. RichTextBox1.Select(p, 0)
    23. End If


    Meine Frage:
    Warum hängt sich mein Programm auf bzw was mache ich falsch? :(