WPF richTextBox 滚动到某项

 

在网上没有找到合适的代码,自己写了一段,还有待优化。。。

 

直接上代码

 

/// <summary>
        /// 滚动到某项
        /// </summary>
        /// <param name="sparent"></param>
        private void ScrollItem(Block sparent)
        {
            int count = richTextBox1.Document.ContentStart.GetOffsetToPosition(richTextBox1.Document.ContentEnd);//获取整个textbox中文本的高度
            int s1 = richTextBox1.Document.ContentStart.GetOffsetToPosition(sparent.ContentEnd);//项block到文档起点的高度
            int s2 = sparent.ContentEnd.GetOffsetToPosition(richTextBox1.Document.ContentEnd);//项block到文档结束点的高度 

            double h1 = (double)scHeight / count * s1;// (int)((scheight / 100) * s1);//滚动条高度平分,提取滚动条位置点

            richTextBox1.ScrollToVerticalOffset(h1 - 60);
        }



        private void richTextBox1_ScrollChanged(object sender, ScrollChangedEventArgs e)
        {
            scHeight = e.ExtentHeight;
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值