我有一个比较大的文本。我需要将一定数量的文本添加到文本框,以便无需滚动即可看到它,然后将其余文本添加到另一个文本框,然后另一个 -.-.-.> 循环生成尽可能多的文本框有必要的。
我的问题是我不知道如何找出每个文本框中有多少文本。到目前为止,我唯一能做的就是分配适合页面的固定数量的字符。但这不适用于不同的屏幕分辨率。有没有一种方法、技巧或变通方法可以用来计算有多少文本可以放入具有固定字体和字体大小但相对宽度和高度的文本框?
int TextLength = 1000, PageStart = 0;
List<TextBox> Pages = new List<TextBox>();
while (PageStart < TextLength)
{
TextBox p = new TextBox();
if (PageStart + PageLength < TextLength)
{
p.PageText = Text.Substring(PageStart, PageLength);
PageStart += PageLength;
Pages.Add(p);
}
else
{
PageLength = TextLength - PageStart;
p.PageText = Text.Substring(PageStart, PageLength);
Pages.Add(p);
break;
}
}
最佳答案
您可能最好使用 TextBlock。除此之外,TextBlock 测量技术也适用于 TextBoxes - how to calculate the textbock height and width in on load if i create textblock from code?
您需要在增加文本量的同时测量 ActualHeight,直到超出限制。
关于c# - 如何在不滚动的情况下查找文本框中适合的文本量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14676240/