簡體   English   中英

如何在不滾動的情況下查找文本框中的文本數量

[英]How to find how much text fits in a textbox without scrolling

我有一個相對較大的文字。 我需要將一定數量的此文本添加到文本框中,以便可以在不滾動的情況下顯示該文本,然后將其余文本添加到另一個文本框,然后將另一個文本 - > - .-。>循環生成文本,生成盡可能多的文本框有必要的。

我的問題是我不知道如何找出每個文本框中有多少文本。 到目前為止,我唯一能做的就是分配一個適合頁面的固定數量的字符。 但這不適用於不同的屏幕分辨率。 有沒有辦法,技巧或解決方法,我可以用來計算文本有多少適合固定字體和fontsize但相對寬度和高度的文本框?

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 - 如果我從代碼創建文本塊,如何計算加載時的文本高度和寬度?

您需要在增加文本量的同時測量ActualHeight,直到超出限制為止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM