C# 使用richTextBox 绑定vScrollBar

问题描述

个人winform水平初学者,想同各位请教一下:使用richTextBox绑定vScrollBar,vScrollBar能根据内容自动变化,即是等于richTextBox自带的垂直滚动条功能。在这里特别说明一下,希望各位能施个手,发个完整的代码。

解决方案

解决方案二:
取得scrollbar的info,再设置另一个scrollbar的max和value.privatevoidrichTextBox1_VScroll(objectsender,EventArgse){SCROLLINFOscrollInfo=newSCROLLINFO();scrollInfo.cbSize=Marshal.SizeOf(scrollInfo);//SIF_RANGE=0x1,SIF_TRACKPOS=0x10,SIF_PAGE=0x2...scrollInfo.fMask=0x10|0x1|0x2|0x4|0x8;GetScrollInfo(richTextBox1.Handle,1,refscrollInfo);//nBar=1->VScrollbarvScrollBar1.Maximum=(scrollInfo.max-scrollInfo.nPage+1)*10;vScrollBar1.Value=scrollInfo.nPos*10;label2.Text="scrollbarmax="+vScrollBar1.Maximum+",currentpos="+vScrollBar1.Value;}[DllImport("user32")]privatestaticexternintGetScrollInfo(IntPtrhwnd,intnBar,refSCROLLINFOscrollInfo);

publicstructSCROLLINFO{publicintcbSize;publicintfMask;publicintmin;publicintmax;publicintnPage;publicintnPos;publicintnTrackPos;}

参考:C#:SynchronizeScrollPositionoftwoRichTextBoxes?HowtoknowifRichTextBoxverticalScrollbarreachedthemaxvalue?
解决方案三:
引用1楼findcaiyzh的回复:

取得scrollbar的info,再设置另一个scrollbar的max和value.privatevoidrichTextBox1_VScroll(objectsender,EventArgse){SCROLLINFOscrollInfo=newSCROLLINFO();scrollInfo.cbSize=Marshal.SizeOf(scrollInfo);//SIF_RANGE=0x1,SIF_TRACKPOS=0x10,SIF_PAGE=0x2...scrollInfo.fMask=0x10|0x1|0x2|0x4|0x8;GetScrollInfo(richTextBox1.Handle,1,refscrollInfo);//nBar=1->VScrollbarvScrollBar1.Maximum=(scrollInfo.max-scrollInfo.nPage+1)*10;vScrollBar1.Value=scrollInfo.nPos*10;label2.Text="scrollbarmax="+vScrollBar1.Maximum+",currentpos="+vScrollBar1.Value;}[DllImport("user32")]privatestaticexternintGetScrollInfo(IntPtrhwnd,intnBar,refSCROLLINFOscrollInfo);

publicstructSCROLLINFO{publicintcbSize;publicintfMask;publicintmin;publicintmax;publicintnPage;publicintnPos;publicintnTrackPos;}

参考:C#:SynchronizeScrollPositionoftwoRichTextBoxes?HowtoknowifRichTextBoxverticalScrollbarreachedthemaxvalue?

刚测试了一下,发现richTextBox1一定要带滚动条,滚动richTextBox1的滚动条,vScrollBar1才有变化,我想要的效果是:richTextBox1没有滚动条,直接由vScrollBar1代替它的垂直滚动条.
解决方案四:
请高手们指点一二?

时间: 2024-08-29 03:03:30

C# 使用richTextBox 绑定vScrollBar的相关文章

数据绑定 richtextbox-C# Richtextbox控件数据绑定之后,无法正常输入

问题描述 C# Richtextbox控件数据绑定之后,无法正常输入 最近在做winform系统时候遇到一个问题,百思不得其解,希望高手可以帮忙解决一下. 如下所示,有一个richtextbox控件,name是rtbZLBB, 后台有一个类, 是ZLBB,现在将richtextbox绑定到ZLBB对象上,但是在输入内容到richtextbox控件的时候,发现无法正常的追加输入,每一次输入光标都是停留在最前面,请问高手这是为什么?进过分析,把Content属性换成private或protected

给.NET中的Windows窗体加载Xp样式

window|加载 给.NET中的Windows窗体加载Xp样式 作者:Heath Stewart 介绍 当Windows XP 带着他特有的可视化样式或者主题发布时,许多人为他拥有的华丽界面而兴奋.然而,当.NET1.0正式版本发布的时候,许多人包括我自己为Windows 窗体不支持Windows XP 的可视化样式而失望.我对可视化样式的API函数和微软的.NET框架开发文档进行了一番研究,而后认识到为.NET应用程序加上Xp样式也不是很难. 下面的将通过一个简单的程序来为你的程序和控件加上

WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式、水印、Label标签、功能扩展

原文:WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式.水印.Label标签.功能扩展 一.前言.预览 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要是对文本输入控件进行样式开发,及相关扩展功能开发,主要内容包括: 基本文本框TextBox控件样式及扩展功能,实现了样式.水印.Label标签.功能扩展: 富

网络存储服务器怎么绑定远程下载

  迅雷远程下载需要两个步骤:1.绑定各个版本迅雷:PC迅雷.智能路由器迅雷.智能盒子迅雷(看个人的选择,也可以绑定其中一个设备),将其添加到支持远程下载设备清单,使其支持离线下载.2.然后通过迅雷远程下载网站.手机迅雷客户端两种方式来进行远程下载. 只有将网络存储服务器绑定迅雷远程下载后,才能支持迅雷远程下载,下面给你详细介绍下小米盒子绑定迅雷远程下载的方法 网络存储服务器怎么绑定远程下载 网络存储服务器绑定迅雷远程下载教程 在NAS的设置界面可以找到迅雷下载标签,进入标签可找到激活码,然后使

newifi路由器怎么绑定远程下载

  迅雷远程下载需要两个步骤:1.绑定各个版本迅雷:PC迅雷.智能路由器迅雷.智能盒子迅雷(看个人的选择,也可以绑定其中一个设备),将其添加到支持远程下载设备清单,使其支持离线下载.2.然后通过迅雷远程下载网站.手机迅雷客户端两种方式来进行远程下载. 只有将newifi路由器绑定迅雷远程下载后,才能支持迅雷远程下载,下面给你详细介绍下小米盒子绑定迅雷远程下载的方法 newifi路由器怎么绑定远程下载 newifi路由器绑定迅雷远程下载教程 1.登录newifi管理后台http://192.168

如意云路由器怎么绑定远程下载

  迅雷远程下载需要两个步骤:1.绑定各个版本迅雷:PC迅雷.智能路由器迅雷.智能盒子迅雷(看个人的选择,也可以绑定其中一个设备),将其添加到支持远程下载设备清单,使其支持离线下载.2.然后通过迅雷远程下载网站.手机迅雷客户端两种方式来进行远程下载. 只有将如意云路由器绑定迅雷远程下载后,才能支持迅雷远程下载,下面给你详细介绍下小米盒子绑定迅雷远程下载的方法 如意云路由器怎么绑定远程下载 如意云路由器绑定迅雷远程下载教程 1.登录如意云管理后台http://192.168.99.1 2.启动远程

极路由器怎么绑定远程下载

  迅雷远程下载需要两个步骤:1.绑定各个版本迅雷:PC迅雷.智能路由器迅雷.智能盒子迅雷(看个人的选择,也可以绑定其中一个设备),将其添加到支持远程下载设备清单,使其支持离线下载.2.然后通过迅雷远程下载网站.手机迅雷客户端两种方式来进行远程下载. 只有将极路由器绑定迅雷远程下载后,才能支持迅雷远程下载,下面百事网给你详细介绍下小米盒子绑定迅雷远程下载的方法 极路由器怎么绑定远程下载 极路由器绑定迅雷远程下载教程         1.极1不支持迅雷远程下载,极1s只支持下载到SD卡,极2支持U

迅雷路由器怎么绑定远程下载

  迅雷远程下载需要两个步骤:1.绑定各个版本迅雷:PC迅雷.智能路由器迅雷.智能盒子迅雷(看个人的选择,也可以绑定其中一个设备),将其添加到支持远程下载设备清单,使其支持离线下载.2.然后通过迅雷远程下载网站.手机迅雷客户端两种方式来进行远程下载. 只有将迅雷路由器绑定迅雷远程下载后,才能支持迅雷远程下载,下面给你详细介绍下小米盒子绑定迅雷远程下载的方法 迅雷路由器怎么绑定远程下载 迅雷路由器绑定迅雷远程下载教程 1.登录迅雷路由后台管理页面 2.绑定迅雷账号,开始远程下载

华为荣耀立方怎么绑定远程下载

  迅雷远程下载需要两个步骤:1.绑定各个版本迅雷:PC迅雷.智能路由器迅雷.智能盒子迅雷(看个人的选择,也可以绑定其中一个设备),将其添加到支持远程下载设备清单,使其支持离线下载.2.然后通过迅雷远程下载网站.手机迅雷客户端两种方式来进行远程下载. 只有将华为荣耀立方绑定迅雷远程下载后,才能支持迅雷远程下载,下面给你详细介绍下小米盒子绑定迅雷远程下载的方法 华为荣耀立方怎么绑定远程下载 华为路由器绑定迅雷远程下载教程 1.打开"路由伴侣"主页,选择"远程下载 2.授权荣耀立