2009-06-26 90 views
0

我試圖讓我自己控制.NET中使用VB和我有問題實現我想要做的事情。事實上,我正在製作一個從文本框類繼承的控件,我試圖給它帶來的唯一修改是,如果控件明顯已滿,則用戶無法再輸入。所以:驗證多行文本框是否可見完整

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

現在,我正在使用的技術是graphics.measurestring來獲取包含我的字符串的寬度和高度的sizeF,以將其與我的文本框控件的高度和寬度進行比較。所有這些都在KeyDown事件中(我不知道這是最好的解決方案)。我可以讓它在寬度上正常工作,但我似乎無法在多行文本框中找到高度。如果有人曾經使用過這些東西,我需要一些關於如何完成的解釋。謝謝。

回答

0

的問題是你的第三個要求:

The extended TextBox may have different fonts and font sizes. 

這意味着你將要搞清楚每一行有多高是其行中的字符具有最大字體大小,要知道, ,你還必須知道每行中的哪些字符。它變得更糟,因爲(令人驚訝的)不同的字體在相同的點大小下可以有不同的高度。如果不是因爲按比例間隔字體中的每個字符的寬度不同,這一切都可行。如果您打算支持上標和下標...