如何获取屏幕页面的字符串长度?

时间:2016-06-28 06:24:06

标签: c# wpf user-interface text

现在,我正在尝试用C#WPF创建一个新颖的(启动)文本阅读器。

我正面临一个问题。 我不知道如何将字符串(从文本文件中)拆分为屏幕页面。 (像书页) (屏幕页面由标签UI控件实现。) 因为该字符串有'New Line \ n'& 'Tab'字符。 所以我无法计算可以在标签中插入多少个字符(屏幕页面)。 label.TextLength返回可插入标签的字符数。 但是,如果字符串有'\ n',那就会产生很多空白。

所以我希望知道如何计算可以插入带有'\ n'的标签的字符串长度。 或者,请指导我如何使用其他UI控件轻松创建此程序。

<其他信息>

感谢您的意见。我添加了如何使用标签控件。 在默认标签UI控件中,通过插入标签的字符串更改了它的大小。 但是,在这个程序中,我将修复标签控件的大小。它的大小适合表格大小。

所以,我应该知道宽度和宽度。标签的高度(线)。 或者我希望知道我的程序的控件或库。(不幸的是,我还没有找到它。)

谢谢!

2 个答案:

答案 0 :(得分:0)

您的标签可以有AutoSize=trueMaximumSize=new Size(maximumPageWidth, 0); 这样,当达到最大宽度时,您的标签将自动换行。每一行只会增加标签的高度。

然后,您需要逐行将文本添加到此标签。每次向此标签添加一行时,请检查是否已达到 maximumPageHeight

如果达到最大高度那么页面结束的位置。在此之后,您需要将下一行添加到新页面。

编辑:如果您使用System.Windows.Forms.Label,则上述解决方案将有效

答案 1 :(得分:0)

FlowDocument是我想要的解决方案! 谢谢你让我知道那件事。 - cicciorocca !!