GetFirstCharIndexFromLine   otázka

VB.NET, WinForms

Dobrý den,

chci si upravit richTextBox k obrazu svému a tak jsem začal psát takovou třídu:

Public Class RichTextBoxExtended
    Inherits RichTextBox
'my add
Public Sub add(ByVal line As String)
       MyBase.AppendText(line + Environment.NewLine)
End Sub

Public Function deleteLine(ByVal index As Integer) As Boolean
        If MyBase.Lines.Count() - 1 < index Then
            Return False
        End If
        Dim currentLine As Integer
        Dim length As Integer
        Dim savePrevClipboard As String
        currentLine = MyBase.GetFirstCharIndexFromLine(index)
        length = MyBase.Lines(index).Length
        MyBase.Select(currentLine, length)
        savePrevClipboard = Clipboard.GetText()
        MyBase.Cut()
        Clipboard.SetText(savePrevClipboard)
        Return True
    End Function
end Class

Třídu používám takto:

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim addRange As New Button
        Dim rtbe As New RichTextBoxExtended
        'add lines
        For i As Integer = 0 To 50
            'rtbe.add("This is my " + CStr(i) + " line added")
            rtbe.AppendText("This is my " + CStr(i) + " line added" + Environment.NewLine)
        Next
        'delete line
        rtbe.deleteLine(30)
        rtbe.Dock = DockStyle.Fill
        Me.Controls.Add(rtbe)
    End Sub
End Class

Problém je, že MyBase.GetFirstCharIndexFromLine(index) vrací nějakou divnou hodnotu z řádku 16.

Navíc, když jsem počítal délku length jako rozdíl

length=MyBase.GetFirstCharIndexFromLine(index+1)- MyBase.GetFirstCharIndexFromLine(index)

Délka byla také spočítána nějak divně, vrátilo to hodnotu 14 místo 23.

Nevíte kde by mohl být problém?

Díky,

PetrS

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nevrací to místo pozice ve vlastnosti Text pozici ve vlastnosti Rtf? To by možná odpovídalo.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback