当前位置: 代码迷 >> C# >> C# richTextBox 文本框 滚动条位置解决方案
  详细解决方案

C# richTextBox 文本框 滚动条位置解决方案

热度:692   发布时间:2016-05-05 02:43:15.0
C# richTextBox 文本框 滚动条位置
这是一个语音朗读的文本框,朗读过程中,正在被读到的词会被高亮选中,当光标(高亮选中的词)走到文本框最下的时候,滚动条每次只向下滚动一行,有什么办法可以滚动1屏。

我用滚动条事件滚动条会乱滚,应该是相应了SendKeys.Send("{PGDN}");滚动事件导致死循环了。


private void frmSpeech_Load(object sender, EventArgs e)
{
    txtContent.VScroll += new EventHandler(txtContent_VScroll);
}

private void txtContent_VScroll(object sender, EventArgs e)
{
    if (btnPlay.Text == ">")
    {
         SendKeys.Send("{PGDN}");
    }      
}


并且,并且就算解决了上述问题,这个方法只在txtContent获得焦点的时候有效,有什么方法可以在txtContent失去焦点、或者整个窗体都失去焦点依然有效?
------解决思路----------------------
ExtentHeight 获取可见内容区域的垂直大小。 
滚动条滚动位置与ExtentHeight 对应上
------解决思路----------------------
换WPF的吧。可以控制滚动的 偏移量,winform的就不知道了。
  相关解决方案