现在,我正在尝试用C#WPF创建一个新颖的(启动)文本阅读器。
我正面临一个问题。 我不知道如何将字符串(从文本文件中)拆分为屏幕页面。 (像书页) (屏幕页面由标签UI控件实现。) 因为该字符串有'New Line \ n'& 'Tab'字符。 所以我无法计算可以在标签中插入多少个字符(屏幕页面)。 label.TextLength返回可插入标签的字符数。 但是,如果字符串有'\ n',那就会产生很多空白。
所以我希望知道如何计算可以插入带有'\ n'的标签的字符串长度。 或者,请指导我如何使用其他UI控件轻松创建此程序。
<其他信息>
感谢您的意见。我添加了如何使用标签控件。 在默认标签UI控件中,通过插入标签的字符串更改了它的大小。 但是,在这个程序中,我将修复标签控件的大小。它的大小适合表格大小。
所以,我应该知道宽度和宽度。标签的高度(线)。 或者我希望知道我的程序的控件或库。(不幸的是,我还没有找到它。)
谢谢!
答案 0 :(得分:0)
您的标签可以有AutoSize=true
和MaximumSize=new Size(maximumPageWidth, 0);
这样,当达到最大宽度时,您的标签将自动换行。每一行只会增加标签的高度。
然后,您需要逐行将文本添加到此标签。每次向此标签添加一行时,请检查是否已达到 maximumPageHeight 。
如果达到最大高度那么页面结束的位置。在此之后,您需要将下一行添加到新页面。
编辑:如果您使用System.Windows.Forms.Label,则上述解决方案将有效
答案 1 :(得分:0)
FlowDocument是我想要的解决方案! 谢谢你让我知道那件事。 - cicciorocca !!