int TextAreaHeight = (int)g.MeasureString(strAll, this.Font, TextAreaWidth).Height;
当字符串很长很长(>5M)时, MeasureString就死掉了。我想计算出strAll所占的高度,怎么解决这个问题?或者其他更好的办法?
当字符串很长很长(>5M)时, MeasureString就死掉了。我想计算出strAll所占的高度,怎么解决这个问题?或者其他更好的办法?
解决方案 »
- 读取XML,出现“根级别上的数据无效”,请帮忙
- 一个WPF窗口的背景由4张图片拼接而成,如何把它们贴上去?
- 如何编程实现.dwg格式到.dwf格式的转换?如果不行生成图片也可以?有谁能够提供思路吗?顶者有分!分不够可以在加!
- c#如何递归遍历注册表
- 如何用visual studio重新整理代码
- 问一个关于DataGrieView的问题,跟别人的有点不一样。高手进来看看,指点一下
- 100分奖励搞定这个存储过程的人!
- 急救啊!!!!!!!!!!!!动态添加一DropDowenList控件,并且给这个控件添加一个SelectIndexChange事件
- 数据库插入问题。。。
- 假如使用C#编写类似于kele8的游戏,有什么优缺点呢?
- 求助:C#编写FTP服务器端软件例子
- 为什么我用进程运行一个需要用bat启动的程序之后,弹出的cmd窗口没有显示信息呢?
如果需要确定页数,是需要做一个索引的。
索引的key为当前的页码,value为第几个字符。
这同样不需要所有的字符的长度。这也是为什么一般的阅读器在第一次打开某个文本的时候需要有一个初始化的功能。
int TextAreaHeight = (int)g.MeasureString(strAll.SubString(1, 2), this.Font, TextAreaWidth).Height;
你那么只能确定一个字符的高度,不能满足我的需求。
1.首先我要确定总页数,当然要知道所有字符的长度了。
2.浏览器窗口的大小是可以变化的, 就是说,总页数和当前页不是固定的。
3.对于你说的索引,我的理解是:<确定每页能显示多少个字符,再确定当前字符所在的页。>
但这是否会受到换行符的影响呢? 如果存在换行符,那么每页能显示的字符就不能确定了吧。