簡體   English   中英

驗證多行文本框是否明顯已滿

[英]Verifying if multiline textbox is visibly full

我正在嘗試使用VB在.NET中進行自己的控制,但是在實現自己想做的事情時遇到了問題。 實際上,我正在制作一個從textbox類繼承的控件,而我想帶給它的唯一修改是,如果該控件明顯可見,則用戶無法再鍵入。 所以:

  • 滾動條永遠不會出現。
  • 擴展的TextBox可以是多行或單行。
  • 擴展的TextBox可能具有不同的字體和字體大小。

現在,我正在使用的技術是graphics.measurestring以獲取一個sizeF,其中包含字符串的寬度和高度,以將其與文本框控件的高度和寬度進行比較。 KeyDown事件中的所有這些(我不知道這是最佳解決方案)。 我可以使它在寬度上正常工作,但似乎無法在多行文本框中正確調整高度。 如果有人曾經使用過這些東西,那么我需要對應該如何做進行一些解釋。 謝謝。

問題是您的第三個要求:

The extended TextBox may have different fonts and font sizes. 

這意味着您將必須弄清楚每行有多高,一行中的哪些字符具有最大的字體大小,要知道這一點,您還必須知道每行中有哪些字符。 變得更糟,因為(令人驚訝地)給定相同的磅值,不同的字體可能具有不同的高度。 如果不是因為按比例間隔的字體中的每個字符都具有不同的寬度,那么這一切都是可行的。

如果您打算支持上標和下標...

暫無
暫無

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

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