日期:2014-05-18  浏览次数:20807 次

scrollbar的控制问题。
小弟想要实在winform里实现类似小说阅读器的功能。能够根据文字量的百分比,控制滚动条的位置。找了很多资料都看不太懂。哪为大神能教教啊。

------解决方案--------------------
你可以记录行号啊
下次滚动条直接滚到那

C# code

           //记录当前区域第一行的行号(从0开始的)
            Point pos = new Point(0, 0);
            int firstIndex = richTextBox1.GetCharIndexFromPosition(pos);
            int firstLine = richTextBox1.GetLineFromCharIndex(firstIndex);
           


            //根据保存的行号确定滚动条
            int line = 11;//滚动到第11行 (firstLine+1)
              int start = this.richTextBox1.GetFirstCharIndexFromLine(line);
            this.richTextBox1.SelectionStart = start;
            this.richTextBox1.ScrollToCaret();