Eine nicht behandelte Ausnahme des Typs 'System.StackOverflowException " ist in System.Windows.Forms.dll

OK, ich versuche zu markieren Schlüsselwörter in einem richtextbox-Steuerelement, das problem ist ich habe den code zu markieren, wird nur der sichtbare text auf textChanged-Ereignis,so dass ich versuchte, setzen Sie den code in der richtextbox-VScroll, wenn ich also hochgescrollt es würde den text markieren, der nicht erkennbar war, bevor, aber jedes mal, wenn ich anfange zu scrollen, bekomme ich diese Fehlermeldung: "Eine nicht behandelte Ausnahme des Typs 'System.StackOverflowException "ist in System.Windows.Forms.dll" Hat jemand wissen, warum? Oder vielleicht eine Möglichkeit, ich könnte markieren Sie die Wörter, die sich beim scrollen?
Danke, Tanner.

        int selectionstart = richTextBox1.Selectionstart;
        int topIndex = richTextBox1.GetCharIndexFromPosition(new Point(1, 1));//This is where I get the error.
        int bottomIndex = richTextBox1.GetCharIndexFromPosition(new Point(1, richTextBox1.Height - 1));

        int topLine = richTextBox1.GetLineFromCharIndex(topIndex);
        int bottomLine = richTextBox1.GetLineFromCharIndex(bottomIndex);

        int start = richTextBox1.GetFirstCharIndexFromLine(topLine);
        int end = richTextBox1.GetFirstCharIndexFromLine(bottomLine);

        int numLinesDisplayed = (bottomLine - topLine) + 2;
        richTextBox1.Focus();
        richTextBox1.Select(start, end);
  • Allgemeiner Tipp: stack-overflows sind fast immer verursacht durch eine unendliche Rekursion.
InformationsquelleAutor Tanner | 2010-05-11
Schreibe einen Kommentar