Richtextbox Zeilen zählen

Entwickle ich ein text-editor in C#, und ich versuche, um eine Linie zu zählen.

    private void updateNumberLabel()
    {
        Point pos = new Point(0, 0);
        int firstIndex = Document.GetCharIndexFromPosition(pos);
        int firstLine = Document.GetLineFromCharIndex(firstIndex);

        pos.X = ClientRectangle.Width;
        pos.Y = ClientRectangle.Height;

        int lastIndex = Document.GetCharIndexFromPosition(pos);
        int lastLine = Document.GetLineFromCharIndex(lastIndex);

        int actualLine = Document.GetLineFromCharIndex(actualPos);
        pos = Document.GetPositionFromCharIndex(lastIndex);

        if (lastLine != actualLine)
        {
            numberLabel.Text = "";
            for (int i = firstLine; i <= lastLine + 1; i++)
            {
                numberLabel.Text += i + 1 + "\n";
            }
        }
    }

Es funktioniert gut und fügt die Anzahl der Zeilen, während Sie Sie schreiben, aber wenn Sie löschen, wird es nur aktualisieren, wenn Sie Sie löschen oder fügen Sie eine weitere Zeile.

Ich will, machen es sofort. Wenn Sie löschen ein, die Zählung wird verringert werden, sofort.

  • Was ist falsch mit richTextBox.Lines.Count() ?
InformationsquelleAutor Los799 | 2013-07-08
Schreibe einen Kommentar