Richtextbox mit erzwungenem Zeilenumbruch

  • VB.NET
  • .NET (FX) 4.0

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ThePlexian.

    Richtextbox mit erzwungenem Zeilenumbruch

    Hallo,

    ich habe eine Richtextbox und darum muß ein Zeilenumbruch erzwungen werden.

    Die Bedingung ist max. ges. 450 Zeichen, aufgeteilt auf 5 Zeilen mit je 90 Zeichen je Zeile.


    So habe ich bisher den Zeilenumbruch erzwungen... der läuft aber sehr unsauber, da z. B. auch Zeichen mitgezählt werden, wenn ich mich verschreibe und dann halt wieder einen Teil lösche usw.

    VB.NET-Quellcode

    1. Private zeichen As Integer = 0
    2. Private Sub Bt_belegtextRichTextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
    3. Handles Bt_belegtextRichTextBox.TextChanged
    4. Me.zeichen += 1
    5. If zeichen = 90 Then
    6. Me.Bt_belegtextRichTextBox.AppendText(vbNewLine)
    7. Me.zeichen = 0
    8. End If
    9. End Sub


    Gibt's da nicht eine bessere Lösung... denk mal, einige von euch haben immer wieder mal die Vorgabe Zeilengrößen und max Zeilen einhalten zu müssen... z.B. wegen Ausdruck usw.

    Wäre toll, wenn da einer noch ne Idee hätte... :)

    Viele Grüße
    Michl

    EDIT

    Jetzt hab ich's mal so umgebogen - ist zwar alles andere als Top.... aber es funktioniert so halbwegs... naja, ich weis... beschissen aber... mit fällt nix besseres ein...

    VB.NET-Quellcode

    1. Private zeichen As Integer = 0
    2. Private Sub Bt_belegtextRichTextBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Bt_belegtextRichTextBox.KeyDown
    3. If Bt_belegtextRichTextBox.TextLength = 450 And e.KeyCode <> 8 Then
    4. e.Handled = True
    5. Exit Sub
    6. End If
    7. Select Case e.KeyCode
    8. Case 97 To 122, 65 To 90, 48 To 57, 13, 32, Bt_belegtextRichTextBox.TextLength > 90
    9. Me.zeichen += 1
    10. If zeichen = 90 Then
    11. Me.Bt_belegtextRichTextBox.AppendText(vbNewLine)
    12. Me.zeichen = 0
    13. End If
    14. lbl_anzZeichen.Text = CStr(zeichen)
    15. Case 8
    16. Me.zeichen -= 1
    17. lbl_anzZeichen.Text = CStr(zeichen)
    18. Case Else
    19. e.Handled = True
    20. End Select
    21. End Sub

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „michl75“ ()