自己实现C#TextBox的ScrollBar中AsNeed功能

来源:互联网 发布:union college 知乎 编辑:程序博客网 时间:2024/06/03 04:02

大家都用过TextBox,也经常用它自带的ScrollBar控件吧。

不知道大家有没有发现它没有AsNeed的功能呢。

 

为什么微软提供了ScrollBar却不支持常用的AsNeed,天知道怎么想的。

 

很多人卡在这里,要么放弃TextBox转用复杂的Grid等,要么自己在TextBox上自己加了一个ScrollBar控件,总之一个字:烦。

 

小弟在研究System.Drawing.Graphics类的时候,发现用Graphics.MeasureString方法,可以判断出实际显示内容是否超出显示区域,从而可以动态的设置ScrollBar是否要显示。

废话不多,上代码: