Für Label und Textbox die Scrollbars synchronisieren

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Für Label und Textbox die Scrollbars synchronisieren

    Hallo liebe Programmierer,

    ich möchte einen Texteditor programmieren, habe aber bis jetzt noch keine Lösung für mein Problem gefunden.

    Mein Problem: Ich möchte die Scrollbars synchonisieren von lbl_lines (Zeilen der Textbox) und der Textbox.

    Also, dass wenn ich in der Textbox hochscrolle, dass ich bei den Zeilen auch automatisch mit hochgehe.

    Vielen Dank im Vorraus!

    :)
    @darkmender Willkommen im Forum. :thumbup:
    Warum willst Du erfinden, was schon lange da ist?
    Nimm eine RichTextBox und feddich.
    Mit deren Property WordWrap kannst Du schalten, ob Zeilen umgebrochen werden oder nicht.
    Den Rest macht das Control allein.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    So spontan würde ich im Designer schauen ob es ein passendes Event gibt. Z.b. ValueChanged, Scroll oder ähnliches. Dies würde ich abonnieren und darin versuchen, den „Wert“ der einen auf die andere Scrollbar zu übernehmen...
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Mit ner RichTextBox ginge das z.B. mit:

    VB.NET-Quellcode

    1. Label1.Text = (RichTextBox1.GetLineFromCharIndex(RichTextBox1.GetFirstCharIndexOfCurrentLine) + 1).ToString

    Damit bekommst Du die aktuelle Zeile. Z.B. wenn die angezeigt werden soll oder wenn Du damit rechnen willst (z.B. Position Scrollblock eines VScrollBars setzen).
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @Der Programmator Danke erstmal für deine Antwort.

    WordWrap hab ich bereits eingeschalten, nur wenn ich irgentwann in der RichTextBox soweit unten bin, dass sich die Scrollbar aktiviert und ich dann wieder hochscrollen will z.B. zur ersten Zeile, bleibt das Panel mit den Zeilen aber dort stehen (z.B. Z.65). Siehe Bild

    imgur.com/a/D8hPWdV

    EDIT: Danke auch nochmal an die anderen für Ihre Antwort. ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „darkmender“ ()

    @darkmender Dein Link ist kaputt.
    Nutze die Dateianhangs-Funktionalität des Forums:
    Erweiterte Antwort => Dateianhänge => Hochladen.
    Wahrscheinlich meinen wir beide etwas anderes mit "Synchronisieren".
    Ich nehme eine RTB und füge 30 Zeilen ("1" ... "30") ein und bewege die V-ScrollBar.
    Das sieht genau so aus, wie ich es mir vorstelle.
    Was meinst Du, wie es aussehen soll?
    Wieviele Leerzeilen sind bei Dir drinne?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @darkmender Unterlass das vollständige Zitieren von Posts über Deinen.
    Wir mögen hier keine werbeverseuchten Links :!:

    RodFromGermany schrieb:

    Nutze die Dateianhangs-Funktionalität des Forums:
    Erweiterte Antwort => Dateianhänge => Hochladen.

    Poste mal den Inhalt Deiner TextBox als Datei.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!